Python使用os.path模块判断路径存在的代码不生效问题求助
问题原因
- 核心语法错误:Python的布尔常量为大写的
True和False,代码中使用的小写true、false属于未定义变量,运行时会直接抛出NameError异常,这是代码无法运行的最主要原因 - 冗余判断逻辑:
os.path.exists()本身返回布尔值,不需要额外和布尔常量做等值判断;路径不存在的场景直接用else承接即可,无需用elif重复判断反向布尔值 - 非功能性小问题:输入提示的拼写有误(
addres应为address、avaialable应为available),且输入提示后无空格,用户输入时会和提示文本连在一起,交互体验差
修复方案
直接修正布尔值写法,简化判断逻辑即可,修复后的完整代码如下:
import os def line(): pathInput = input("Type the address of your file: ") pathExists = os.path.exists(pathInput) if pathExists: something() else: print('said path is not available') def something(): print("yet to work on it") line()
如果需要更严谨的校验,还可以额外判断输入路径是否为文件而非目录:
# 仅当路径存在且为文件时才执行后续逻辑 if os.path.isfile(pathInput): something() else: print('said path is not a valid file')
内容的提问来源于stack exchange,提问作者MADMENTAL
相关产品推荐
相关产品推荐

