python - 使用 pathlib 访问网络文件位置

标签 python pathlib

我正在尝试使用 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/

相关文章:

python - PyQt Combobox 向项目添加功能

python - BeautifulSoup提取物

python - 如何将任何目录格式(windows、linux、mac)传递给函数并独立使用它(python3)

python - 将路径附加到路径

python - pathlib Path 解析包的安装路径目录而不是源代码目录

python - 即使路径不存在,为什么 Path(...).exists 为真?

python - 导入 pytesseract

python - 为继承mixin类的类动态添加类变量

python - spy 程序不会自动完成新的解释器(virtualenv)

python - pathlib glob ('*' ) 和 iterdir 有什么区别?