python FileNotFoundError: [WinError 3] for getsize(filepath)
python FileNotFoundError: [WinError 3] for getsize(filepath)
我创建了计算辅助文件夹中文件大小总和的函数。提前我可以排除文件扩展名
def sourceStatic(path, exclude):
# exclude list convert to lower
exclude = list(map(lambda x:x.lower(), exclude))
files_size = 0
files_count = 0
for root, dirs, files in os.walk(path):
for fileName in files:
fname, fileEx = os.path.splitext(fileName)
fileEx = (fileEx[1:]).lower()
if not any(fileEx in item for item in exclude):
print(fileName)
filePath = os.path.join(root,fileName)
fileSize = getsize(filePath)
files_size += fileSize
files_count += 1
# return multiple data as dictionary
ret = {}
ret['files_size'] = size(files_size)
ret['files_size_byte'] = files_size
ret['files_count'] = files_count
print(ret)
return (ret)
上述方法 return 文件夹中的文件 count/size。
os.walk(path)
遍历每个文件和子文件夹
一旦发现文件路径超过 260 个字符就会出现问题 getsize(filepath)
给出如下错误
File "C:\Python34\lib\genericpath.py", line 50, in getsize
return os.stat(filename).st_size
FileNotFoundError: [WinError 3] The system cannot find the path specified:
那么计算文件大小的最佳方法是什么。还有其他的吗method/lib?
这是由于 windows 平台上 WinAPI 的限制。任何超过 260 个字符的文件路径都必须以特殊方式处理。阅读此 python win32 filename length workaround
filePath = u"\\?\" + filePath
fileSize = getsize(filePath)
....
我创建了计算辅助文件夹中文件大小总和的函数。提前我可以排除文件扩展名
def sourceStatic(path, exclude):
# exclude list convert to lower
exclude = list(map(lambda x:x.lower(), exclude))
files_size = 0
files_count = 0
for root, dirs, files in os.walk(path):
for fileName in files:
fname, fileEx = os.path.splitext(fileName)
fileEx = (fileEx[1:]).lower()
if not any(fileEx in item for item in exclude):
print(fileName)
filePath = os.path.join(root,fileName)
fileSize = getsize(filePath)
files_size += fileSize
files_count += 1
# return multiple data as dictionary
ret = {}
ret['files_size'] = size(files_size)
ret['files_size_byte'] = files_size
ret['files_count'] = files_count
print(ret)
return (ret)
上述方法 return 文件夹中的文件 count/size。
os.walk(path)
遍历每个文件和子文件夹
一旦发现文件路径超过 260 个字符就会出现问题 getsize(filepath)
给出如下错误
File "C:\Python34\lib\genericpath.py", line 50, in getsize
return os.stat(filename).st_size
FileNotFoundError: [WinError 3] The system cannot find the path specified:
那么计算文件大小的最佳方法是什么。还有其他的吗method/lib?
这是由于 windows 平台上 WinAPI 的限制。任何超过 260 个字符的文件路径都必须以特殊方式处理。阅读此 python win32 filename length workaround
filePath = u"\\?\" + filePath
fileSize = getsize(filePath)
....