2024-05-15 03:33:15 发布
网友
早上好,我可以说明如何在python中输入内部硬盘的路径,目前使用的语句是:
file = GETfile() or 'http://**********'
我想把一个本地文件的路径,但它不工作,我哪里错了?
file = GETfile() or 'D:\xxx\xxxx\playlist\playlist.m3u'
\是转义字符。你有三个选择。
\
1)使用/。这对于linux也有好处:
/
'D:/xxx/xxxx/playlist/playlist.m3u'
2)避开反斜杠
'D:\\xxx\\xxxx\\playlist\\playlist.m3u'
3)使用原始字符串:
r'D:\xxx\xxxx\playlist\playlist.m3u'
已经给出了正确的答案,但在Windows操作系统上使用本地驱动器路径时,还提供了一些附加信息。
就我个人而言,我会使用r'D:\dir\subdir\filename.ext'格式,但是前面提到的另外两个方法也是有效的。
r'D:\dir\subdir\filename.ext'
此外,资源管理器将Windows上的文件操作限制为256个字符。较长的路径名通常会导致操作系统错误。
但是,有一个解决办法,就是预先将"\\?\"固定到一个长路径。
"\\?\"
不起作用的路径示例:
D:\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\filename.ext
工作的文件路径相同:
\\?\D:\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\reallyreallyreallyreallyreallylonglonglonglongdir\filename.ext
因此,下面的代码用于更改文件名以包含"\\?\":
import os import platform def full_path_windows(filepath): if platform.system() == 'Windows': if filepath[1:3] == ':\\': return u'\\\\?\\' + os.path.normcase(filepath) return os.path.normcase(filepath)
我对每个文件(或目录)的路径使用这个,它将返回带有前缀的路径。路径不需要存在;因此您也可以在创建文件或目录之前使用此路径,以确保您没有遇到Windows资源管理器的限制。
高温高压
\
是转义字符。你有三个选择。1)使用
/
。这对于linux也有好处:2)避开反斜杠
3)使用原始字符串:
已经给出了正确的答案,但在Windows操作系统上使用本地驱动器路径时,还提供了一些附加信息。
就我个人而言,我会使用
r'D:\dir\subdir\filename.ext'
格式,但是前面提到的另外两个方法也是有效的。此外,资源管理器将Windows上的文件操作限制为256个字符。较长的路径名通常会导致操作系统错误。
但是,有一个解决办法,就是预先将
"\\?\"
固定到一个长路径。不起作用的路径示例:
工作的文件路径相同:
因此,下面的代码用于更改文件名以包含
"\\?\"
:我对每个文件(或目录)的路径使用这个,它将返回带有前缀的路径。路径不需要存在;因此您也可以在创建文件或目录之前使用此路径,以确保您没有遇到Windows资源管理器的限制。
高温高压
相关问题 更多 >
编程相关推荐