Мне удается создать это для одного файла, чтобы разделить строку в файле. Я хотел бы взять только нечетное число.
filename = sys.argv[1]
filename2 = sys.argv[2]
with open(filename) as f:
items = itertools.islice(f, 0, None, 2)
x = (list(items))
final = "".join(x)
with open(filename2, 'a+') as bb:
bb.write(final)
Над кодом работает нормально. Но мне нужно указать имя файла вручную. Что если бы у меня было 100 файлов, которые мне нужно нарезать?
Пример вывода кода выше. Он нарезает / удаляет строку по четному числу.
Input file
a
b
c
d
e
Output file
a
c
e
Я думаю о петле. Пока вот мое решение.
# Directory where it contains my pat files.
mydir = "C:\\Users\\Desktop\\Scripts\\"
files = filter(lambda x: x.endswith('.pat'), os.listdir(mydir))
# print(list(files))
# ['filepat1.pat', 'filepat2.pat', 'filepat3.pat'.......]
i = 0
new_file = 'file{}.pat'.format(i)
for file in files:
with open(file) as f:
items = itertools.islice(f, 0, None, 2)
x = (list(items))
final = "".join(x)
#print(final)
for item in items:
i +=1
new_file = 'file{}.pat'.format(i)
with open(new_file, 'a+') as ww:
ww.write(final)
В чем моя ошибка? Похоже, он пропустил петлю.