Я пытаюсь обнаружить автономные линии в файле с Python. В файле есть отдельные «LF» (т. Е. \ N) и некоторые комбинации «CRLF» (т. Е. \ R \ n), и я стараюсь просто соответствовать автономным.Обнаружение строк с помощью Python
Я думал, что это будет работать:
match = re.search('(?<!\r)\n', line)
где line
является строка из файла, петельные через. Однако негативный внешний вид, похоже, не работает.
Вот полный скрипт для контекста:
import sys
import fileinput
import os
import os.path
import re
# Descriptions: iterates over files in source directory, removes whitespace characters and saves to destination directory.
print ('Source Directory:', str(sys.argv[1]))
print ('Destination Directory:', str(sys.argv[2]))
for i in os.listdir(sys.argv[1]):
fullSource = (os.path.join(sys.argv[1], i))
fullDestination = (os.path.join(sys.argv[2], i))
newfile = open(fullDestination, "x")
for line in fileinput.input(fullSource):
matchObj = re.search('(?<!\r)\n', line)
if matchObj:
newfile.write(line.rstrip('\r\n'))
else:
newfile.write(line)
newfile.close
print ("created " + fullDestination)
В результате все возвращается (как CR и CRLF) удаляются. Я что-то упустил?
'\ r' =' CR', не 'LF' и' \ n' шаблон соответствует '\ n', которые не предшествуют с' \ г '. См. [Это демо] (https://ideone.com/2nvBVB) - он работает. –
Извинения, я получал мои персонажи перепутаны. Теперь я отредактировал этот вопрос. –
Да, но ваш код работает. Пожалуйста, покажите «большую картинку» (более связанный код). –