Я пытаюсь извлечь файлы tar.gz, которые находятся в разных файлах с именами srm01, srm02 и srm03. Имя файла должно быть на входе (строка), чтобы запустить мой код. Я пытаюсь сделать что-то вроде этого:
import tarfile
import glob
thirdBloc = 'srm01' #Then, that must be 'srm02', or 'srm03'
for f in glob.glob('C://Users//asediri//Downloads/srm/'+thirdBloc+'/'+'*.tar.gz'):
tar = tarfile.open(f)
tar.extractall('C://Users//asediri//Downloads/srm/'+thirdBloc)
У меня есть это сообщение об ошибке:
IOError: CRC check failed 0x182518 != 0x7a1780e1L
Сначала я хочу убедиться, что мой код находит файлы .tar.gz. Поэтому я попытался просто напечатать свои пути после glob:
thirdBloc = 'srm01' #Then, that must be 'srm02', or 'srm03'
for f in glob.glob('C://Users//asediri//Downloads/srm/'+thirdBloc+'/'+'*.tar.gz'):
print f
Это дает:
C://Users//asediri//Downloads/srm/srm01\20160707000001-server.log.1.tar.gz
C://Users//asediri//Downloads/srm/srm01\20160707003501-server.log.1.tar.gz
Метод os.path.exists сообщает мне, что моих файлов не существует.
print os.path.exists('C://Users//asediri//Downloads/srm/srm01\20160707000001-server.log.1.tar.gz')
Это дает: False
Любой способ сделать эту работу правильно? Каков наилучший способ иметь в первую очередь правильные пути?
cd
зайти в srm01 и открыть там свой файл? - person Dimitry Kotovka   schedule 07.09.2016