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

2024-09-30 08:32:14 发布

您现在位置:Python中文网/ 问答频道 /正文

在90年代,我花了很多年时间在Perl上做正则表达式,但从那以后我就不再做正则表达式了,我是一个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

Tags: importretxtreados计算机时间语法
1条回答
网友
1楼 · 发布于 2024-09-30 08:32:14

您的问题是.read()不会读取整个文件,它按给定的字节大小读取文件:https://docs.python.org/2/tutorial/inputoutput.html#methods-of-file-objects

实际上,您需要的是逐行读取您的文件,您可以使用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

相关问题 更多 >

    热门问题