如何确定文件是否在Python中是远程的

red*_*rah 7 python

我想确定文件是否位于本地硬盘驱动器或OSX中从网络安装的驱动器上.所以我想要生成类似下面的代码:

file_name = '/Somewhere/foo.bar'
if is_local_file(file_name):
    do_local_thing()
else:
    do_remote_thing()
Run Code Online (Sandbox Code Playgroud)

我找不到像is_local_file()上面例子那样有效的东西.理想情况下,我想使用现有的功能,如果有一个功能,但是我怎么能自己实现呢?我提出的最好的是以下,但这对待已安装的dmgs就好像它们是远程的,这不是我想要的.另外我怀疑我可能正在重新发明轮子!

def is_local_file(path):
    path = path.split('/')[1:]
    for index in range(1,len(path)+1):
        if os.path.ismount('/' + '/'.join(path[:index])):
            return False
    return True
Run Code Online (Sandbox Code Playgroud)

我有两个生成校验和的函数,其中一个使用多进程,这会产生开销,但如果网络连接速度慢,则对于大文件更快.

msw*_*msw 2

“我有两个生成校验和的函数,其中一个使用多进程,这会在开始时产生开销,但如果网络连接很慢,对于大文件来说速度会更快。”

那么您真正想要is_local_file()告诉您的只是“文件访问速度会比我希望的慢吗?”的代理衡量标准。作为一种代理衡量标准,由于上述所有令人困惑的原因(本地但虚拟化的磁盘、远程但速度极快的 NAS 等),它并不能很好地表明您真正想了解的内容。

由于您提出的问题几乎不可能以编程方式回答,因此最好提供一个选项,例如明确表示“并行化此运行”的-jobs选项make