如何在python中定义本地路径

2024-05-15 03:33:15 发布

您现在位置:Python中文网/ 问答频道 /正文

早上好,我可以说明如何在python中输入内部硬盘的路径,目前使用的语句是:

file = GETfile() or 'http://**********'

我想把一个本地文件的路径,但它不工作,我哪里错了?

file = GETfile() or 'D:\xxx\xxxx\playlist\playlist.m3u'

Tags: or文件路径http语句playlistfilexxx
2条回答

\是转义字符。你有三个选择。

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'格式,但是前面提到的另外两个方法也是有效的。

此外,资源管理器将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资源管理器的限制。

高温高压

相关问题 更多 >

    热门问题