import fileinput, sys, codecs, re, unicodedata
def remove_control_characters(s):
return "".join(ch for ch in s if unicodedata.category(ch)[0]!="C")
file_in = 'file_with_ctrl_characters.XML'
file_out = 'out_file.xml'
with open(file_out, 'a') as out:
for line in fileinput.input([file_in]):
out.write(remove_control_characters(line)+'\n')
out.close()
os.remove(file_in)
os.rename('out_file.xml', file_in)
Короче говоря, этот код работает в ноутбуке Jupyter. Он читает файл, удаляет специальный символ, а затем записывает все остальное в новый файл xml.
Затем удаляет старый файл и присваивает старое имя новому файлу. У меня осталось то же имя файла, но без специального символа.
Я хочу вызвать это из командной строки, передав ему (один?) Аргумент - путь к файлу, из которого мне нужно удалить специальный символ.
Как мне go из кода записной книжки Jupyter в скрипт, который можно вызвать из командной строки, предоставив ему файл для удаления символов?