Python - WindowsError: [Ошибка 2] системе не удалось найти указанный файл: ... afterusign os.path.getsize
import os
import sys
rootdir = sys.argv[1]
print os.path.abspath(rootdir)
with open('output.txt','r') as fout:
for root, subFolders, files in os.walk(rootdir):
for file in files:
path = os.path.abspath(file)
print path
print os.path.getsize(path)
1 ответ
Решение
os.walk
возвращает список, по одной записи для каждого каталога в обходе дерева каталогов. Каждый элемент списка содержит три элемента: первый - имя каталога, второй - имена подкаталогов, а третий - имена файлов в этом каталоге. Эти имена являются только именами файлов, а не полными или относительными путями. Итак, позвонив os.path.abspath
вы объединяете имя файла с рабочим каталогом вместо реального каталога, в котором файл был найден во время обхода. Объедините имя файла с каталогом, в котором оно было найдено:
import os
import sys
rootdir = sys.argv[1]
print os.path.abspath(rootdir)
with open('output.txt','r') as fout:
for root, subFolders, files in os.walk(rootdir):
for file in files:
path = os.path.join(root, file)
print path
print os.path.getsize(path)