Python os.getcwd()在路径中返回波浪号。例如C:\ MYFOLD〜1个\测试

时间:2012-07-16 20:55:34

标签: python path directory tilde getcwd

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

4 个答案:

答案 0 :(得分:4)

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

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

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

但是如果你需要转换短路径到长路径,你必须调用win32的GetLongPathName函数

答案 1 :(得分:0)

尝试使用os.path.realpathos.path.normpath

答案 2 :(得分:0)

也许这会有所帮助:

fullpath = os.path.expanduser('~/my/path')

答案 3 :(得分:0)

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