我有一个文件说1.txt,每行包含一个字符串和两个数字。我在某些方面知道A这样的字母,但我不知道它的数字。问题是我需要找到具有特定字母的这一行,并打印出包括未知数字在内的整行。
答案 0 :(得分:1)
你可以读取行并可以检查它......
file = open('1.txt','r')
for line in file.readlines():
if line == 'A12':
print line, 'this what you are looking for'
答案 1 :(得分:1)
您可以遍历文件的每一行并显示包含A12
的行:
with open('1.txt') as f:
for line in f:
if line.strip() == 'A21':
print(line)
答案 2 :(得分:0)
我不太清楚你在寻找什么。但根据您对其他答案的评论,我认为您的问题如下:
您有一个包含行的文本文件。在本文的每一行 文件可能有一个'A'序列,后面跟着任何2个数字。例如:A21, A00,A34等。所以,你正在寻找一种方法来找到这样的序列。
基于此,我找到了一个解决方案,我认为可以做你的工作。那么代码就是这样的。它首先会读取文本文件的每一行,然后只检查行中是否有字母A
。如果是,那么我将检查A后面的2个字母是否是数字。如果它们是数字,那么我只需打印A和2个数字。
以下是我的示例代码:
file = open('c:\\1.txt','r')
searchLetter = "A"
for line in file.readlines():
if searchLetter in line:
positionOfA = line.index(searchLetter)
if line[positionOfA+1].isdigit() & line[positionOfA+2].isdigit():
print searchLetter+line[positionOfA+1]+line[positionOfA+2]
要测试此代码,请在1.txt
目录中创建一个名为c:\
的文本文件,其中包含以下内容:
Ahhhhhhhhhhhhhhhh
2A21kkkkkkkkkkkkkkkk
432hhhhhA43hhhh
我测试了这段代码,输出结果如下:
A21
A43
更新:使用正则表达式可进一步简化解决方案。因为如果一行中有多个A
,上面的代码将无法正常工作。所以这是更好的解决方案。
import re
file = open('1.txt','r')
for line in file.readlines():
sequence = re.findall(r"A\d\d", line)
if sequence:
for i in sequence:
print i