goo*_*cat 8 python numbers line
我正在编写在文本文件中查找的代码,并查看输入是否在其中。
例如,
我输入"比萨"
我的文本文件包含:
bread
pizza
pasta
tomato
Run Code Online (Sandbox Code Playgroud)
有没有办法打印披萨这个词所在的行号?
有两种方法可以实现这一点:
对于方法1,首先读取每一行,然后获取单词所在的索引:
with open('path.txt') as f: data = f.readlines()
line_no = data.index("pizza")
Run Code Online (Sandbox Code Playgroud)
或者,通过文件查找索引:
with open('path.txt') as f:
for line_no, line in enumerate(f):
if line == "pizza":
break
else: # for loop ended => line not found
line_no = -1
Run Code Online (Sandbox Code Playgroud)
with open('test.txt') as f:
content = f.readlines()
index = [x for x in range(len(content)) if 'pizza' in content[x].lower()]
Run Code Online (Sandbox Code Playgroud)
代码的第 (1) 部分将每一行读取为变量“内容”中的单独列表。
仅当“pizza”存在于该行中时,第 (2) 部分才会填充该行 # 的内容。[x for x in range(len(content))] 只是填充所有索引值,而 'if 'pizza' in content[x].lower()' 保留与字符串匹配的行 #。