我是Python的新手,我被困在这上面了。我需要检查我是否能在文件中找到一个字符串。 我已经创建了文件内容.py你知道吗
代码:
import sys
for arg in sys.argv:
inputEAN=arg
EAN = open("/home/master/Documenti/Progetti/eanFZ.txt","r")
riga=EAN.readlines()
EAN.close()
print inputEAN
for i in range(len(riga)):
if inputEAN == riga[i]:
print "OK"
从命令行:
$ python ContEAN.py 455
其中“455”将是inputEAN的值
这就是eanFZ.txt文件地址:
7777
777
0000000000156
0000000015
455
9999
85485
656565
问题是,我从来没有一个确定作为最终结果,我不知道为什么。。。你知道吗
首先,readlines()方法返回一个可以在循环中迭代的iterable对象。每次迭代都将使用文件的下一行。你知道吗
其次,文件的行在末尾有一个隐藏的换行符,因此它不等于argv中的字符串。这可以通过rstrip()方法删除。你知道吗
(您可能还需要检查缩进。您需要在每一行for和每一行if之后进入一个新的缩进级别。我认为这是由于复制和粘贴。)
你可以这样做
注意重要的事情是
不要用你的手系统argv[0]在比较循环中。它是脚本的名称。你知道吗
从文件的行中去掉新行,使字符串匹配。你知道吗
您可以按以下方式更改脚本:
这将打印行号和找到给定字符串的行。你知道吗
相关问题 更多 >
编程相关推荐