我想确定文件是否位于本地硬盘驱动器或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)
我有两个生成校验和的函数,其中一个使用多进程,这会产生开销,但如果网络连接速度慢,则对于大文件更快.
“我有两个生成校验和的函数,其中一个使用多进程,这会在开始时产生开销,但如果网络连接很慢,对于大文件来说速度会更快。”
那么您真正想要is_local_file()告诉您的只是“文件访问速度会比我希望的慢吗?”的代理衡量标准。作为一种代理衡量标准,由于上述所有令人困惑的原因(本地但虚拟化的磁盘、远程但速度极快的 NAS 等),它并不能很好地表明您真正想了解的内容。
由于您提出的问题几乎不可能以编程方式回答,因此最好提供一个选项,例如明确表示“并行化此运行”的-jobs选项make。
| 归档时间: |
|
| 查看次数: |
1508 次 |
| 最近记录: |