Что возвращает Python string.replace, если подстановки строк не было? Всегда ли Python file.open (f, 'w') касается файла, даже если не было внесено никаких изменений?
Используя Python, я пытаюсь заменить в наборе файлов вхождения 'oldtext' на 'newtext'. Если файл содержит «старый текст», я хочу произвести замену и сохранить файл. В противном случае ничего не делайте, чтобы файл сохранил свою старую метку времени.
Следующий код работает нормально, за исключением того, что все файлы записываются, даже если не была произведена подстановка строк, и все файлы имеют новую метку времени.
for match in all_files('*.html', '.'): # all_files returns all html files in current directory
thefile = open(match)
content = thefile.read() # read entire file into memory
thefile.close()
thefile = open(match, 'w')
thefile.write(content.replace(oldtext, newtext)) # write the file with the text substitution
thefile.close()
В этом коде Я пытаюсь выполнить file.write только в том случае, если произошла подстановка строки, но все же все файлы получают новую метку времени:
count = 0
for match in all_files('*.html', '.'): # all_files returns all html files in current directory
thefile = open(match)
content = thefile.read() # read entire file into memory
thefile.close()
thefile = open(match, 'w')
replacedText = content.replace(oldtext, newtext)
if replacedText != '':
count += 1
thefile.write(replacedText)
thefile.close()
print (count) # print the number of files that we modified
В конце счетчик - это общее количество файлов, а не количество измененных файлов. Какие-либо предложения? Спасибо.
Я использую Python 3.1.2 в Windows. m наличие полнофункциональной системы регистрации / аутентификации пользователей с использованием промежуточного программного обеспечения Express и Connect. app.use (express.session ({store: require ('connect'). session.MemoryStore ({reapInterval: 60000 * 10}) ...
У меня есть полнофункциональная система регистрации / аутентификации пользователей, использующая экспресс и подключение промежуточного программного обеспечения.
app.use(express.session({store: require('connect').session.MemoryStore( {reapInterval: 60000 * 10} ) }))
Единственная проблема заключается в том, что сеансы сбрасываются каждый раз при перезапуске сервера.
https://github.com/remy/nodemon - и nodemon перезапускает node.js каждый раз, когда обнаруживает файл изменить.
Как я могу иметь постоянные сеансы?