我正在尝试使用 Python 的 pathlib
模块测试程序。使用 os
模块,您过去只需遵循相同的类似 url 的形式即可访问网络驱动器。但出于某种原因,您不能使用 pathlib
执行此操作。或者至少我不知道该怎么做。
有了 os
模块,所有需要做的就是:
path = os.path.join(r'//server-01', 'directory', 'filename.txt')
但是如果您尝试使用 pathlib
模块来执行此操作,则可以尝试类似的操作:
path = Path('//server-01', 'directory', 'filename.txt')
如果我在 Windows 机器上,路径将解析为:
>> WindowsPath('/server-01/directory/filename.txt)
如果我说 path.exists()
我当然会得到 False
。因为是的,/server-01
不存在,但是 //server-01
确实 存在。
当然,理想情况下,当我运行 path.exists()
时我希望得到的结果是 True
并且如果我要显示 path
它看起来像:
>> WindowsPath('//server-01/directory/filename.txt')
更新
这有点 hacky,但我想它是有效的,不管我想知道正确的方法。
为了到达网络位置,您可以:
os.chdir(join(r'//server-01', 'directory', 'filename.txt'))
path = Path()
path = path.resolve()
结果是这样的:
>> WindowsPath('//server-01/directory/filename.txt')
path.exists()
>> True
如果有人知道更好的方法,请告诉我。
最佳答案
如果您将路径创建为:
path = Path('//server-01/directory/filename.txt')
它可以代替逗号分隔每个目录。
关于python - 使用 pathlib 访问网络文件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56044394/