4

如何让 python 返回 C:\myfolderisafolder\test 的完整路径名?

4

4 回答 4

5
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()

如您所见,如果我pythonVARESE~1目录中运行,则os.getcwd()返回短路径。如果我python在同一个目录中运行但路径很长,它会返回长路径。

因此,您应该尝试运行pythonC:\myfolderisafolder\test检查链接的属性或运行方式)。

但是如果需要短路径转换成长路径,就得调用win32的GetLongPathName函数了

于 2012-07-16T21:59:25.290 回答
0

尝试使用os.path.realpath, os.path.normpath

于 2012-07-16T21:03:49.760 回答
0

也许这会有所帮助:

fullpath = os.path.expanduser('~/my/path')
于 2012-07-17T02:24:10.667 回答
0

您可以在波浪号处使用 .split() 拆分字符串,然后使用 .join() 方法重新加入完整的文件路径。

于 2012-07-17T13:06:01.080 回答