猿问

关于Python中判断语句的使用

我写了一个方法,如下:

file = None
for f in os.listdir(os.getcwd()):
    if os.path.splitext(f)[1] == '.*' and os.path.splitext(f)[0] == os.getenv('') or 'text':
        file = f
return file

期望是,如果文件不存在,返回None,实际返回了__pycache__

我修改了方法,如下:

file = None
for f in os.listdir(os.getcwd()):
    if os.path.splitext(f)[1] == '.*':
        if os.path.splitext(f)[0] == os.getenv('') or 'text':
            file = f
return file

这样就能返回期望值None

请问是为什么?

繁花不似锦
浏览 529回答 1
1回答

汪汪一只猫

and 优先级高于 or 你的第一个方法稍作修改, file = None for f in os.listdir(os.getcwd()): if os.path.splitext(f)[1] == '.*' and (os.path.splitext(f)[0] == os.getenv('') or 'text'): file = f return file 应该就符合你的预期了.
随时随地看视频慕课网APP

相关分类

Python
我要回答