微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获得python在UNIX中的最大文件系统path长度?

在我维护的代码中,我碰到了:

from ctypes.wintypes import MAX_PATH

我想将其改为如下所示:

try: from ctypes.wintypes import MAX_PATH except ValueError: # raises on linux MAX_PATH = 4096 # see comments

但我找不到任何方式来从Python获取最大文件系统path的值( os,os.path,sys... ) – 有没有一个标准的方法,或者我需要一个外部库?

或者在linux下没有类似MAX_PATH的东西,至less在发行版本中不是标准的呢?

写入的最佳缓冲区大小(2)

如何检测打开文件句柄的文件是否在Windows上使用Perl删除

使用直接IO与ecryptfs和类似的可堆叠文件系统

在Java中检测符号链接

获取文件系统目录条目的物理扇区

回答

try: MAX_PATH = int(subprocess.check_output(['getconf','PATH_MAX','/'])) except (ValueError,subprocess.CalledProcessError,OSError): deprint('calling getconf Failed - error:',traceback=True) MAX_PATH = 4096

具有超过百万个小(30 kB)文件的Windows 7目录会显着降低性能

内容添加文件的中间,直到最后才读取

在Windows 7上:相同的path,但资源pipe理器和Java看到不同于Powershell的文件

如何在特定的文件系统上限制文件大小?

(bash)如何find文件系统最大支持文件大小?

你可以从文件中读取这个值:

* PATH_MAX (defined in limits.h) * FILENAME_MAX (defined in stdio.h)

或者用getconf函数使用subprocess.check_output():

$ getconf NAME_MAX / $ getconf PATH_MAX /

如下例所示:

name_max = subprocess.check_output("getconf NAME_MAX /",shell=True) path_max = subprocess.check_output("getconf PATH_MAX /",shell=True)

获取值和fpath为文件设置不同的值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐