gpt4 book ai didi

python - 检测文件是否在python中的网络驱动器上

转载 作者:IT王子 更新时间:2023-10-29 01:27:23 26 4
gpt4 key购买 nike

如何确定文件是否在网络驱动器上?我想包括路径看起来像是在本地磁盘上的情况,但路径中的目录之一实际上是网络驱动器的符号链接(symbolic link)。

最佳答案

我假设您可以获得网络文件系统及其基本挂载点的列表,您可以通过解析 mount 或 df 获得这些列表。如果是这种情况,您应该能够使用 os.path 中的几个不同函数来完成您想做的所有事情。

这将采用一个文件名和一个网络文件系统路径。 path.realpath 会将符号链接(symbolic link)转换为它们链接到的文件的绝对路径。

def is_netfile(fname, netfs):
fname = path.realpath(fname)
netfs = path.realpath(netfs)
if path.commonprefix([ netfs, fname ]) == netfs:
return True
else:
return False

你可以把他和 os.walk 一起使用在目录结构中移动并捕获所有文件或链接到特定网络文件共享上的文件

start_dir = '/some/starting/dir'
net1 = '/some/network/filesystem'
remote_files = []

for root, dirs, files in os.walk(start_dir):
for f in files:
if is_netfile( path.join(root,f), net1):
remote_files.append( path.join(root,f))

print remote_files

关于python - 检测文件是否在python中的网络驱动器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13628645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com