У меня есть несколько сотен больших файлов (на основе строк). Я пытаюсь написать код, используя цикл. Сначала цикл читает большой файл в папке, второй, он сделает папку с тем же именем файла, что и , и, наконец, она разрежет файл в той же папке, созданной. Этот цикл должен перебирать все большие файлы, присутствующие в папке. Мой код выглядит следующим образом:looping filenames in python
import glob
import os
os.chdir("/test code/")
lines_per_file = 106
sf = None
for file in glob.glob("*.TAB"):
with open(file) as bigfile:
for lineno, line in enumerate(bigfile):
if lineno % lines_per_file == 0:
if sf:
sf.close()
sf_filename = '/test code/201511_sst/sf_{}.txt'.format(lineno + lines_per_file)
sf = open(sf_filename, "w")
sf.write(line)
if sf:
sf.close()
Я получаю выход следующим образом:
In [35]: runfile('/test code/file_loop_16Jan.py', wdir='/test code')
In [36]:
Мне нужно немного руководство в перекручивание файлы, так что я могу достичь. Я думаю, что ошибка не означает, что я чего-то не хватает !! Пожалуйста, любой может помочь мне!
Что записывается в '* .txt' выходных файлов? – ilent2
вы устанавливаете 'sf = None' и не изменяете его там и строку' if sf', поэтому последние несколько строк никогда не будут вызываться. – asongtoruin
Первый раз через цикл, 'sf' true или false? – cdarke