小编Ale*_*lex的帖子

使用pathlib访问网络文件位置

我正在尝试使用Python的pathlib模块测试程序。使用该os模块,您过去只需遵循相同的类似url的形式就可以访问网络驱动器。但是由于某种原因,您不能使用进行此操作pathlib。或者至少我不知道该怎么做。

使用该os模块,所有要做的就是:

path = os.path.join(r'//server-01', 'directory', 'filename.txt')
Run Code Online (Sandbox Code Playgroud)

但是,如果您尝试使用该pathlib模块执行此操作,则可以尝试执行以下操作:

path = Path('//server-01', 'directory', 'filename.txt')
Run Code Online (Sandbox Code Playgroud)

如果我在Windows计算机上,则路径将解析为:

>> WindowsPath('/server-01/directory/filename.txt)
Run Code Online (Sandbox Code Playgroud)

如果我说path.exists()我当然会的False。因为是,/server-01所以不存在,但是//server-01 确实存在。

当然,理想情况下,我希望在运行时得到的结果path.exists()True,如果要显示path,结果将类似于:

>> WindowsPath('//server-01/directory/filename.txt')
Run Code Online (Sandbox Code Playgroud)

更新资料

这有点hacky,但我想它能奏效,无论我想知道正确的方法。

为了到达网络位置,您可以:

os.chdir(join(r'//server-01', 'directory', 'filename.txt'))
path = Path()
path = path.resolve()
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

>> WindowsPath('//server-01/directory/filename.txt')
path.exists()
>> True
Run Code Online (Sandbox Code Playgroud)

如果有人知道更好的方法,请告诉我。

python pathlib

5
推荐指数
2
解决办法
562
查看次数

标签 统计

pathlib ×1

python ×1