Я пытаюсь распаковать файлы в python. Я даю своей программе путь к файлу с основным каталогом файла, который имеет 9 подкаталогов и python, который проходит через них, находит tar-файлы с определенным именем и распаковывает их.
Таким образом, мой output_text
файл имеет мой основной каталог, и после этого я перебираю номера моих 01-09
файлов в этом каталоге и unzip файл с определенным именем в них.
Я написал некоторый код, но происходит ничего, ни ошибок, ни предупреждений, ничего:
def main():
output_path = "/Users/rs/Documents/clients_file.txt"
path = []
with open(output_path) as f:
for exptini_path_raw in f:
exptini_path = exptini_path_raw.strip()
path.append(exptini_path)
for i in range(1,1):
for j in range(0,len(path)):
if i < 10:
p = "/%s/0%d/middleware"%(path[j],i)
else:
p = "/%s/%d/middleware"%(path[j],i)
for root, _, files in os.walk(p):
for f in files:
if not 'client-logs' or 'middleware-logs' in f:
continue
print 'going to extract %s'%f
f1 = os.path.join(p,f)
tar = tarfile.open(f1)
tar.extractall()
tar.close()
if __name__ == '__main__':
main()
Примечание. Даже то, что я распечатываю, не отображается. В чем может быть причина?
РЕДАКТИРОВАТЬ: я изменил свой код и теперь получил это
File "unzip_files.py", line 47, in <module>
main()
File "unzip_files.py", line 40, in main
tar = tarfile.open(f1)
File
«/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tarfile.py», строка 1672, при открытии поднять ReadError («файл не может быть успешно открыт») tarfile.ReadError: файл может не открыться успешно
Это мой модифицированный код:
импортировать ОС, импортировать os.path, импортировать tar-файл
def main():
output_path = "/Users/rs/Documents/clients_file.txt"
path = []
with open(output_path) as f:
for exptini_path_raw in f:
exptini_path = exptini_path_raw.strip()
path.append(exptini_path)
print path
for i in range(1,10):
print i
for j in range(0,len(path)):
print j
if i < 10:
p = "/%s/0%d"%(path[j],i)
else:
p = "/%s/%d"%(path[j],i)
print p
for root, _, files in os.walk(p):
for f in files:
if not 'client-logs' or 'middleware-logs' in f:
continue
print 'going to extract %s'%f
f1 = os.path.join(p,f)
tar = tarfile.open(f1)
tar.extractall()
tar.close()
if __name__ == '__main__':
main()
ПРИМЕЧАНИЕ: файл является файлом tgz!