Я пишу отличный сценарий, и все мы должны удалить все операторы печати из файлов python в каталоге/или в одном файле python, прежде чем делать рулон кода. У меня есть printremover.py:ошибка удаления печати с ошибкой
def read_content_to_linelist(the_file):
try:
f = file(the_file, 'r')
content = f.readlines()
f.close()
return content
except IOError:
return 0
def remove_print(linelist):
string = ""
for line in linelist:
if re.match(r"^\s*print.*", line):
linelist.remove(line)
else:
for line in linelist:
string += line
return string
Я играл с файла fake.py в то время как я проверить:
name = 'cody'
print name
print 'cody'
print 4
когда я печатаю список из read_content_to_linelist
, я получаю хорошие данные. Но когда я удаляю_принт, я получаю все правильно, за исключением того, что по какой-то причине оставляет print 'cody'
. Он оставляет переменную и удаляет другие 2 отпечатка.
Как насчет отпечатков в функциях? –
Что значит? – codyc4321
. он дает мне '['#!/user/bin/env python \ n', '# coding: utf-8 \ n'," name = 'cody' \ n ", '\ n', 'print name \ n ', "print' cody '\ n",' print 4 '] ', но когда я печатаю строку за строкой в цикле for, она пропускает" print' cody \ n "каждый раз, считая до 6, когда есть 7 линий. Я проверяю строки в remove_print непосредственно перед циклом for – codyc4321