【发布时间】:2015-02-10 11:04:06
【问题描述】:
我想知道在以下场景中使用路径的最佳做法是什么: 我可以选择将当前目录更改为所需的文件夹,然后仅使用文件名生成文件,或者直接使用完整路径。
这里是我设置当前目录os.chdir()的代码:
a=time.clock()
import os
for year in range(start,end):
os.chdir("C:/CO2/%s" % year)
with open("Table.csv",'r') as file:
content=file.read()
b=time.clock()
b-a
Out[55]: 0.002037443263361638
这比直接使用完整路径时要慢:
a=time.clock()
for year in range(start,end):
with open("C:/CO2/%s/Table.csv" % year,'r') as file:
content=file.read()
b=time.clock()
b-a
Out[56]: 0.0014569102613677387
我仍然怀疑使用完整路径是否是一种好习惯。这两种方法都是跨平台的吗?我应该使用 os.path 而不是 %s 吗?
【问题讨论】:
-
我怀疑将绝对部分
C:/CO2/放在代码中是个好主意。其余的都无所谓。 -
我会使用 os.path.join
-
@LutzHorn,有时我会得到一个带有不一致斜杠分隔符的路径,例如 C:/CD2\\2001 将 chdir 到 C:/CD2 然后处理文件可能会更好吗?
-
@PadraicCunningham 你的意思是这个 os.chdir(os.path.join("C:","CD2")) ?
标签: python path operating-system