问题
今天遇到了个蛋疼的问题,大概是这样的:
json_str = {'a': 'b'}
filepath = './aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json'
with open(filepath, 'w') as outf:
json.dump(dict(json_str), outf)
按理说python找不到就会创建这个文件:aaaa…aaaaa.json,但是报错: No such file or directory
。
原因
不同操作系统对路径长度有不同的限制。在 Windows 上,路径长度限制是 260 个字符,而在 Linux 上则较长。如果路径长度超过了操作系统的限制,就会报 “No such file or directory” 错误。
解决方法
修改 Windows 注册表,路径为:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
。将变量LongPathsEnabled
改为 1 即可。