Nik*_*nov 13 python filesystems
给定两条路径,如果它们指向同一个文件,我必须进行比较.在Unix中,这可以完成os.path.samefile
,但正如文档所述,它在Windows中不可用.模拟此功能的最佳方法是什么?它不需要模拟常见情况.就我而言,有以下简化:
现在我使用以下内容:
def samefile(path1, path2)
return os.path.normcase(os.path.normpath(path1)) == \
os.path.normcase(os.path.normpath(path2))
Run Code Online (Sandbox Code Playgroud)
这个可以吗?
根据问题#5985,os.path.samefile和os.path.sameopenfile现在在py3k中.我在Python 3.3.0上验证了这一点
对于旧版本的Python,这里有一种使用GetFileInformationByHandle函数的方法:
see_if_two_files_are_the_same_file
os.stat 系统调用返回一个元组,其中包含有关每个文件的大量信息 - 包括创建和上次修改时间戳、大小、文件属性。不同文件具有相同参数的可能性非常小。我认为这样做是非常合理的:
def samefile(file1, file2):
return os.stat(file1) == os.stat(file2)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2510 次 |
最近记录: |