在
Python 2中,是否可以在os.chdir()之后获取文件对象的真实路径?考虑:
$python
>>> f = file('abc', 'w')
>>> f.name
'abc'
>>> from os import path
>>> path.realpath(f.name)
'/home/username/src/python/abc'
>>> os.chdir('..')
>>> path.realpath(f.name)
'/home/username/src/abc'
对realpath的第一次调用返回磁盘上文件的路径,但第二次没有.有没有办法在chdir之后获取磁盘文件的路径?理想情况下,我想要一个通用的答案,即使我自己没有创建文件对象也能正常工作.
我没有任何实际用例,我只是好奇.
最佳答案 当然
f=file(os.path.join(os.getcwd(),"fname"),"w")
print f.name
只要在初始化时使用绝对路径
正如Martijn Pieters指出的那样,你也可以做到
f=file(os.path.abspath('fname'),"w") #or os.path.realpath , etc
print f.name