【发布时间】:2012-07-15 18:41:54
【问题描述】:
如何让 python 返回 C:\myfolderisafolder\test 的完整路径名?
【问题讨论】:
标签: python path directory tilde getcwd
如何让 python 返回 C:\myfolderisafolder\test 的完整路径名?
【问题讨论】:
标签: python path directory tilde getcwd
尝试使用os.path.realpath、os.path.normpath。
【讨论】:
E:\dev>cd VARESE~1
E:\dev\VARESE~1>python
>>> import os
>>> os.getcwd()
'E:\\dev\\VARESE~1'
>>> exit()
E:\dev\VARESE~1>cd ..
E:\dev>cd VAResearchDemo
E:\dev\VAResearchDemo>python
>>> import os
>>> os.getcwd()
'E:\\dev\\VAResearchDemo'
>>> exit()
如您所见,如果我在VARESE~1 目录中运行python,os.getcwd() 返回短路径。如果我在同一目录中运行 python 但路径很长,它会返回长路径。
因此,您应该尝试在C:\myfolderisafolder\test 中运行python(检查链接的属性或运行方式)。
但是如果需要把短路径转成长路径,就得调用win32的GetLongPathName函数
【讨论】:
也许这会有所帮助:
fullpath = os.path.expanduser('~/my/path')
【讨论】:
您可以在波浪号处使用 .split() 拆分字符串,然后使用 .join() 方法重新加入完整的文件路径。
【讨论】: