Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 如何在文件中搜索列表元素_Python 2.7 - Fatal编程技术网

Python 2.7 如何在文件中搜索列表元素

Python 2.7 如何在文件中搜索列表元素,python-2.7,Python 2.7,请检查在文件中搜索列表元素的代码 f=open("a.txt","r") p=open("b.txt","r") disk=[] for line in p: line = line.strip() disk.append(line) for line in f.readlines(): for word in disk[0]: if word in line: print line 名单如下: >>> di

请检查在文件中搜索列表元素的代码

f=open("a.txt","r")
p=open("b.txt","r")
disk=[]
for line in p:
    line = line.strip()
    disk.append(line)


for line in f.readlines():
    for word in disk[0]:
        if word in line:
            print line
名单如下:

>>> disk
['5000cca025884d5', '5000cca025a1ee6']
我想在下面的文件中搜索此列表元素,但我没有得到索引
0
的输出

c0t5000CCA025A1EE6Cd0 <preSUN30G-A2B0-279.40GB> /scsi_vhci/disk@g5000cca025a1ee6c


1. c0t5000CCA025A28FECd0 <preSUN30G-A2B0-279.40GB> i/disk@g5000cca025a28fec
2. c0t5000CCA0258BA1DCd0 <HsdfdsSUN30G-A2B0 cyl 46873 alt 2 hd 20 sec 625> i/disk@g5000cca0258ba1dc
3. c0t5000CCA025884D5Cd0 <UN300G cyl 46873 alt 2 hd 20 sec 625>  solaris i/disk@g5000cca025884d5c
4. c0t5000CCA02592705Cd0 <UN300G cyl 46873 alt 2 hd 20 sec 625>  solaris i/disk@g5000cca02592705c
c0t5000CCA025A1EE6Cd0/scsi\U vhci/disk@g5000cca025a1ee6c
1.c0t5000CCA025A28FECd0 i/disk@g5000cca025a28fec
2.c0t5000CCA0258BA1DCd0 i/disk@g5000cca0258ba1dc
3.c0t5000CCA025884D5Cd0 solaris i/disk@g5000cca025884d5c
4.c0t5000CCA02592705Cd0 solaris i/disk@g5000cca02592705c

代码中出现的唯一错误是:

  for word in disk[0]:
正如我在评论中提到的那样,它所做的是获取
磁盘中的第一个字符串
列表并开始迭代各个字符。这将导致
a.txt
中的大多数行被多次打印

另一个可能的问题是将这两个文件倒过来。当我试图复制你的问题时,我意外地做了这件事。当文件向后时,不会打印任何内容,因为
a.txt
中的行都不在
b.txt
中(事实上,大多数行都更长)


下面是一个演示程序运行的示例。

您的问题是什么?你有错误吗?对于堆栈溢出,常规代码检查是非主题的。请看。非常感谢。我的意思是,上面的代码并不是在搜索文件中的列表元素,而是显示已完成的文件。您能否将您的问题包含在解释中,说明您正在尝试做什么以及问题是什么?“编辑”按钮就在标记的正下方。编辑完成感谢您的问题是磁盘[0]中word的
部分
disk[0]
正在抓取
disk
的第一个元素,它将是一个字符串。然后,您的
for
循环将在每个字符之间循环。如果删除
[0]
,它实际上会循环遍历
磁盘中的所有单词。