繁体   English   中英

Python打开文本文件,执行多行正则表达式,写出文件

[英]Python open text file, do multiline regular expressions, write out file

我在90年代花了多年的时间在Perl上做正则表达式,但是从那以后就不再从事IT领域了,并且是Python新手。 我需要使用Python的哪些语法包装器? 这就是我现在的位置,结果是计算机什么也不做,就是这样。

import os
import re
os.chdir("/Users/.../")
atext = open("textfile.txt", 'r').read()
atext = re.sub(r'foo', r'bar', atext.rstrip())
print atext

您的问题是.read()不会读取整个文件,它会以给定的大小(以字节为单位)读取文件: https : .read()

您真正需要的是逐行读取文件,可以使用atext.readlines()来返回列表中的整个文件行,或者使用此代码实际上比.readlines()更快

import os
import re
os.chdir("/Users/.../")
with open("textfile.txt", 'r') as atext:
    for line in atext:
        line = re.sub(r'foo', r'bar', line.rstrip())
        print line

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM