同样的代码,在.PY文件和python shell里运行为什么结果不一样 50

[xforxinos.listdir('D:\\')ifos.path.isdir(x)]这行代码,如果保存为.py文件,那么会正常输出D盘下所有的文件夹。然而如果直接在... [x for x in os.listdir('D:\\') if os.path.isdir(x)]
这行代码,如果保存为.py文件,那么会正常输出D盘下所有的文件夹。
然而如果直接在python shell下输入的话,输出结果则是空列表。
同样的代码为什么输出的结果不一样?
.py里的代码是
import os
print([x for x in os.listdir('D:\\') if os.path.isdir(x)])
展开
 我来答
cnbubble
2017-08-14 · TA获得超过2606个赞
知道大有可为答主
回答量:1988
采纳率:83%
帮助的人:842万
展开全部

2.7.10版没试出来,shell中和文件中运行都是空列表,用.py文件进行单步调试,发现程序此句首先直接完了for循环,没有进行判断。

执行完后for后,再执行if语句,提示

然后后面几个Step都是空列表~~

追问
很抱歉没有说版本,这是PYTHON3下的。
这个代码应该是没有问题的。列表生成器,for循环,判断。
然而一开始在python shell试的时候就是一直是空列表,就是偶然保存为了py文件后就可以正常运行了。
后来调试一下发现,是判断那里会出现差异。
同样的路径,在python shell里直接输入判断是否目录,都是false,而在py文件里运行,就能正常判断true。
不知道为啥……
wutou372sheng
2017-08-13 · TA获得超过179个赞
知道答主
回答量:188
采纳率:50%
帮助的人:88.7万
展开全部
这诗是谁写的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式