Python 板


LINE

请问一下,下面这两种获取当前路径的写法 PATH_1 = os.getcwd().replace('\\','/')+'/log' PATH_2 = './log' 这两个path的差别是? 详细请看我下面的过程,谢谢! ------------------------------------------------ 假设我现在有某个test.py档,路径为【C:/user/Desktop/folder/test.py】 而folder内除了有test.py,里面还有一个叫作log的资料夹 即 folder ─┬→ test.py │ └→ log 而test.py里面内容为: import os import numpy as np PATH_1 = os.getcwd().replace('\\','/')+'/log' PATH_2 = './log' arr = np.zeros(3) np.save(PATH_1+"/1.npy", arr) np.save(PATH_2+"/2.npy", arr) 则运行後会发现: (1) print(PATH_1) 显示为 C:/user/Desktop/folder/log print(PATH_2) 显示为 ./log (2) log资料夹中确实有 1.npy 与 2.npy这个档案 由(1),(2)可知,即便字串是不同的,但是code运行到np.save时,看到"./"会自动改成 当前路径,并非只是字串的"./" 是否可以推论,要不要把"./"看成当前路径而不是字串的"./",单纯看该package的设定? ------------------------------------------------------------------------- 会这麽问是因为我有一份code在运行时 os.makedirs(PATH) shutil.rmtree(PATH) np.savetxt(PATH,file) plt.imsave(PATH,file) 以上这四个对於我PATH是写PATH_1形式或是PATH_2形式都是一样且成功的 但是! embedding.metadata_path = PATH embedding.sprite.image_path = PATH summary_writer = tf.summary.FileWriter(PATH) 上面这三个跟tensorboard(tensorflow的工具)有关的指令 PATH 是 PATH_1形式的话 → 运行成功 PATH 是 PATH_2形式的话 → 运行失败 也因此才会有这篇问题...@@ ------------------------------------------------- 文有点多,第一个解惑的板友1000p奉上,感谢! 目前我是猜测原因是tensorflow并没有把字串"./"翻译成当前路径 但是"./"的解释会根据package不同而不同倒也是蛮奇怪的@@ --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.128.169.29
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1525343620.A.0B9.html
1F:→ FakeGPS: 感觉是目前的位置跑掉了 所以用绝对路径才能确保无误 05/03 20:26
同时问楼上F大跟楼下S大 "."不是指 .py档所在路径 吗 这还算是《相对路径》? 因为像是os.getcwd() 不也是get current working directory 同样都是《获取module所在位址》 为什麽"."算是相对? 补充: 爬google後,好像"相对"的定义就是没有"完整位址" 虽然"."是指当前,但是不会有确切位址的字串所以把他归类在"相对"
2F:推 Sunal: 养成习惯,都用绝对路径就没问题 05/03 21:16
3F:→ Sunal: 路径的组合不要直接+ 都用os.path.join 05/03 21:18
4F:→ Sunal: 或是py3的pathlib 05/03 21:18
5F:→ Sunal: 这样linux windows都能够正确执行 05/03 21:19
6F:推 st1009: 你的问题漂亮到让我以为是教学文(大推 05/03 22:07
这...上个色而已^^"
7F:推 coeric: 回Sunal 我自己有点懒的用os.path.join 05/03 23:51
8F:→ coeric: 不管是Linux 或是windows 一律用 / 05/03 23:52
9F:→ TitanEric: 如果要用py档路径的话 可以用__file__搭配os.path.join 05/04 00:42
10F:→ TitanEric: 这样就不会错~ 05/04 00:42
11F:推 cphe: PATH1是绝对路径,PATH2是指当下.py的路径,没加./应该也行 05/04 09:51
是的 np.save("1.npy", arr) 可以我知道 而且他是相对路径 但是 np.save("./1.npy", arr) 我会把它认为是 "." + "/1.npy" 而"." = os.getcwd() = 获取当前位址 但是以字串来说,上面的等式是不相同的 或许应该理解成"1.npy" 跟 "./1.npy"根本就是等价 ------------------------------------------------------------------- 关於本问题,目前发现问题出在tensorflow本身的设定 embedding.metadata_path embedding.sprite.image_path 这两个的预设路径并非是跟随运行当中的.py路径 所以才会有问题 谢谢以上给建议的板友,每人200p表示谢意回家发,谢谢! ※ 编辑: znmkhxrw (219.87.142.254), 05/04/2018 10:02:30
12F:→ cphe: 运行失败的error msg是什麽? 05/04 10:02
13F:→ cphe: . 在windows就是指当下path,在cmd下打dir最前面就是 . 05/04 10:04
14F:→ cphe: 在linux有些情况你必须指明用./xxx 例如它是个执行档 05/04 10:05
15F:→ cphe: 不过你遇到的状况不确定是为什麽… 05/04 10:05
16F:推 Sunal: os.getcwd() 是绝对路径哦 05/04 11:24
17F:推 anticrime: 我理解是在路径叙述中 单纯"."是当下资料夹 ".."上一层 05/04 13:24
18F:→ anticrime: 资料夹 然後/是当分段看 所以./就会是当前路径往下跑 05/04 13:24







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP