if 命令带有 python os 路径模块

if command with python os path module

所以..这是我的代码:

import os

def line():
    pathInput = input("Type the addres of your file")
    pathExists = os.path.exists(pathInput)
    if(pathExists == true):
        something()
    elif(pathExists == false):
        print('said path is not avaialable')

def something():
    print("yet to work on it")

line()

我的目标是...只有在输入路径可用时才应继续执行代码

我认为这会起作用,但不幸的是它不起作用....谁能解释为什么它不起作用..解决方案应该是什么?

您正在寻找类似下面的内容(不需要 elif

import os


def line():
    pathInput = input("Type the addres of your file")
    pathExists = os.path.exists(pathInput)
    if pathExists:
        something()
    else:
        print(f'said path ({pathInput}) is not avaialable')


def something():
    print("yet to work on it")


line()

问题出在您的布尔变量中,您必须使用 True 而不是 true 和 False 而不是 false,如下所示。

import os

def line():
    pathInput = input("Type the addres of your file")
    pathExists = os.path.exists(pathInput)
    if pathExists:
        something()
    else:
        print('said path is not avaialable')

def something():
    print("yet to work on it")

line()

你不一定需要检查 == 实际上你可以像上面那样做。

我知道已经有人回答了,但没有指出问题所在。 修复很简单。你做错的是你使用的是小写真假。 但在 python 中,这是“真”和“假”。如您所见,第一个字母需要大写。

import os

def line():
    pathInput = input("Type the addres of your file")
    pathExists = os.path.exists(pathInput)
    if(pathExists == True):
        something()
    elif(pathExists == False):
        print('said path is not avaialable')

def something():
    print("yet to work on it")

line()

不过你也可以。而不是像elif那样写。并且 == 是的。 您不需要指定 == True。

import os

def line():
    pathInput = input("Type the addres of your file")
    pathExists = os.path.exists(pathInput)
    if(pathExists):
        something()
    else:
        print('said path is not avaialable')

def something():
    print("yet to work on it")

line()