在找不到目录时阻止python程序关闭

2024-04-25 21:37:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python创建一个DOS克隆,我有一个命令cd,允许您更改目录。唯一的问题是,如果您拼写错误或键入了一个不存在的目录,程序将关闭并返回一个错误。我基本上不希望它完全关闭程序,而是print一个类似'requested_directory' Is not a directory!的语句,允许您在不同的目录中键入。你知道吗

我试过几件事,主要是错误处理,但没有成功。我假设我仍然不太了解错误处理或不正确地使用它。你知道吗

非常感谢您的帮助。你知道吗

这是我用来更改目录(elif)的代码,因为我有更多的命令。cmd是原始输入。)

elif 'cd' in cmd:
        desired_directory = cmd.split(' ')[1]
        if desired_directory == "..":
            os.chdir('..')
        else:
            os.chdir(desired_directory)

这是输入错误目录时的输出

Traceback (most recent call last):
  File "/Users/jrosmac/PycharmProjects/untitled/JDOS/SYS64/jdosos.py", line 47, in <module>
    os.chdir(desired_directory)
OSError: [Errno 2] No such file or directory: 'raw_input goes here'

Tags: in命令程序目录cmd键入os错误
2条回答

我相信你需要纠正错误。你知道吗

try:
    os.chdir(desired_directory)
except OSError as e:
    print e.args[0]

使用异常处理:

try:
    os.chdir(target)
except OSError as e:
    # handle the failure of the chdir call

相关问题 更多 >