Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 确定文件是否位于NTFS文件系统上_Python_Windows_Ntfs - Fatal编程技术网

Python 确定文件是否位于NTFS文件系统上

Python 确定文件是否位于NTFS文件系统上,python,windows,ntfs,Python,Windows,Ntfs,是否有Windows API用于确定某个文件(路径)是否位于NTFS文件系统上 如果可以从现有的Python API中推断出这一点,那就更好了。不知道如何在Python中做到这一点,但我认为调用C函数将很容易 因此,在C open file handle bu中,您将检索此类文件的句柄。然后调用并检查lpFileSystemNameBuffer变量中的“ntfs”字符串。在python中,您可以执行以下操作: import win32api t = win32api.GetVolumeInfor

是否有Windows API用于确定某个文件(路径)是否位于NTFS文件系统上


如果可以从现有的Python API中推断出这一点,那就更好了。

不知道如何在Python中做到这一点,但我认为调用C函数将很容易

因此,在C open file handle bu中,您将检索此类文件的句柄。然后调用并检查lpFileSystemNameBuffer变量中的“ntfs”字符串。

在python中,您可以执行以下操作:

import win32api
t = win32api.GetVolumeInformation(path)
print t[-1]
如果路径位于该文件系统类型上,将打印ntfs


(基于Yakeen的回答,但由于我没有windows计算机,因此未经测试)

根据需要,您可以使用GetFileAttributes并检查ntfs文件属性常量。

相关的就是这样,但这种方式在重新分析点(如装入的卷作为目录)上不起作用,这就是为什么在文件句柄上工作更安全。你说的Mox到底是什么意思?所有这些属性都只在特殊情况下出现。我的意思是,一些属性,如文件属性加密或文件属性稀疏文件,仅在NTFS卷上可用。这些属性可以用作提示,以确定文件是否位于NTFS文件系统上。嗯,刚才注意到,此文件系统上所需的最低Windows版本是VistaIn早期版本,您可以使用GetVolumeInformation函数,因为NTFS还不支持重分析点。是的,问题是它需要一个不太方便的根路径,不过还是谢谢你。然后你可以再低一层,使用ntdll.dll中的ZWQueryVolumeInformation文件,它在XP+中存在。GetVolumeInformationByHandleW只是转发到此函数。看见