在我维护的代码中,我碰到了:
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的文件
你可以从文件中读取这个值:
* 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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。