checkily 发表于 2018-2-13 16:21:07

这段python语句,为什么没有输出?求解。

本帖最后由 checkily 于 2018-2-13 16:24 编辑

例子如下:
lis=['D:\\Python34\\hello1.txt', 'D:\\Python34\\hello2.txt']
for each in lis:
    f=open(each)
    for each_word in f:
      if each_word in "a":
            print("YES")
      else:
            print("NO")
    f.close()

我的目的是把含有字符"a"的文件打印出来。两个文件都有字符"a"的,为什么打印不出来呢?

lapo_Mu 发表于 2018-2-13 16:27:40

检查一下'D:\\Python34\\hello1.txt'和'D:\\Python34\\hello2.txt'的内容

°蓝鲤歌蓝 发表于 2018-2-13 16:27:53

if each_word in "a":
应该是
if a in each_word:
或者是
if each_word == "a":

checkily 发表于 2018-2-13 16:28:55

lapo_Mu 发表于 2018-2-13 16:27
检查一下'D:\\Python34\\hello1.txt'和'D:\\Python34\\hello2.txt'的内容

里面有内容,且不止一个字符'"a"

lapo_Mu 发表于 2018-2-13 16:29:40

for each_word in f:
      if each_word in "a":
            print("YES")
      else:
            print("NO")
错了,应该是
if "a" in f.read():
    print("YES")
else:
    print("NO")

checkily 发表于 2018-2-13 16:30:47

°蓝鲤歌蓝 发表于 2018-2-13 16:27
应该是

或者是

都试过了,一样的。
我把程序改了一下,如果找到,输出“YES”,没有就输出“NO”,可是结果什么都没有输出。

ba21 发表于 2018-2-13 16:36:56

°蓝鲤歌蓝 发表于 2018-2-13 16:40:58

我的都可以啊。

checkily 发表于 2018-2-13 16:52:30

奇了怪了,现在可以了{:10_285:}

checkily 发表于 2018-2-13 17:02:19

°蓝鲤歌蓝 发表于 2018-2-13 16:40
我的都可以啊。

你的编译器是什么??

°蓝鲤歌蓝 发表于 2018-2-13 17:10:42

checkily 发表于 2018-2-13 17:02
你的编译器是什么??

Pycharm
页: [1]
查看完整版本: 这段python语句,为什么没有输出?求解。