当尝试使用"open(fname,'w +')"打开新文件时,我得到如下所示的IOError.完整的错误消息如下.
该文件不存在,但我使用"os.access(dir_name,os.W_OK)"和"os.path.exists(dir_name)"验证了该文件的父目录是否存在.
我想知道Windows的文件名是否太长,或者我做错了什么.任何提示将不胜感激.非常感谢你.
错误信息:
IOError:[Errno 2]没有这样的文件或目录:'C:\ Documents and Settings\Administrator\op_models\Corp_Network_Nov12\abcde_corporate_nov_12.project\abcde_corporate_nov_12-ctr.rptd.dir\ctr\Weeknights的非营业时间\ hourly_data_for_2_weeks\1294897740\json.data\Link\0\Link Utilization\analyzer393146160-data0.js'
在我维护的代码中,我遇到了:
from ctypes.wintypes import MAX_PATH
Run Code Online (Sandbox Code Playgroud)
我想将其更改为:
try:
from ctypes.wintypes import MAX_PATH
except ValueError: # raises on linux
MAX_PATH = 4096 # see comments
Run Code Online (Sandbox Code Playgroud)
但我找不到任何方法从 python ( os, os.path, sys...)获取最大文件系统路径的值- 有标准方法还是我需要外部库?
或者在 linux 中没有类似于 MAX_PATH 的东西,至少不是发行版中的标准?
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
Run Code Online (Sandbox Code Playgroud)