python 解析并打印点前文本
我正在尝试写一个程序,它需要读取一个文本文件:qwer.txt,并打印出等号(=)前面的值和逗号(,)后面的值:
qwer.txt
john.xavier=s/o john
jane.victory=s/o ram
输出结果:
xavier
victory
我的程序显示了整行内容,请帮我看看怎么只显示等号后的特定文本和逗号后的文本。
with open("qwer.txt", 'r') as my_file:
a = my_file.readlines()
for line in a:
for part in line.split():
if "=" in part:
print part.split(' ')[-1]
请帮帮我!非常感谢你的回答。
3 个回答
0
这是一个有趣的小方法,使用正则表达式来处理数据,而不是用分割的方法。这样做的好处是,它会忽略那些不好的行,而不是出错(我觉得这真不错)。另外,如果你想进一步使用这些名字,它还会给你一个很好的名字列表,而不是直接输出结果。
import re
r = re.compile('.+?\.(.+)?\=.+')
with open("qwer.txt", 'r') as f:
names = [r.match(x).group(1) for x in f.read().splitlines() if r.match(x)]
for name in names: print name
4
在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在另一个地方使用这些数据。这个过程就像是把水从一个水龙头接到另一个水龙头一样。
有些时候,我们会遇到一些问题,比如数据没有按照我们想要的方式流动,或者在传输过程中出现了错误。这就像是水管堵了,水流不畅。
为了避免这些问题,我们可以使用一些工具和方法来确保数据能够顺利传输。就像在水管里加装过滤器,确保水是干净的,流动是顺畅的。
总之,处理数据就像管理水流一样,我们需要确保每一步都顺利进行,这样才能得到我们想要的结果。
with open("qwer.txt", 'r') as my_file:
for line in my_file:
print line.split('=')[0].split('.')[1]