【发布时间】:2019-05-23 02:55:22
【问题描述】:
我正在用 Python3 编写一个脚本,我想使用正则表达式。我有一些 utf-8 编码文件用作我的主脚本的配置文件。
我希望更改它们的某些行(经典配置更改)。
我的代码仍然处于 poc 状态,是这样的:
regex = re.compile('^SHOW_ALL\s[^:]')
with open('./config.txt', encoding='utf-8', mode='r+') as old_file:
for line in old_file.read():
if regex.match(line):
print(line)
config.txt 是这样的:
#Κάτι στα ελληνικά
SHOW_ALL OFF 15
PRINT ON
SHOW_VALUES O
COM 0
PRINTER_NAME samsung_not_a_real_name
CAMERA 33
我在pythex.org 检查了我的正则表达式,它似乎工作正常。
可能出了什么问题?
*链接重定向到我在 regex.org 尝试过的确切正则表达式和文本
【问题讨论】:
-
删除
.read(),使用for line in old_file: -
为什么会这样?
-
因为它的意思是“逐行读取文件”
标签: regex utf-8 pattern-matching python-3.5