【问题标题】:Python listing directory without errorsPython列出目录没有错误
【发布时间】:2014-02-27 01:44:14
【问题描述】:

我最近开始为朋友制作程序,当我尝试使用用户输入制作目录列表器时,我不知道如何处理错误。 目录示例

  • 用户
  • 偏好
  • 备忘录

如果用户输入“home”,我该如何做到这一点,以显示类似“Invalid Directory”的错误?

这是我的少量代码:

ch1 = input('Path To List: ')
path = ch1
dirList = os.listdir(path)
for fname in dirList:
    print('-', fname)
cmd()

我可以包含任何代码来修复该错误吗?

谢谢!

【问题讨论】:

  • 如果路径无效,os.listdir 将引发 OSError 异常...您还需要什么?捕获异常并打印错误消息。
  • 你有没有测试过你到目前为止所拥有的东西?如果路径/目录不存在,则会引发异常并且程序将退出。正如@isedev 所说,只需添加一个 try/except 块来捕获错误

标签: python list operating-system dir


【解决方案1】:

正如 cmets 中所建议的,try/except 块足以满足您的需求:

import os
import sys
# Get input as a string
input = raw_input('Path To List: ')
# Get absolute path in case user gives a relative path
path = os.path.abspath(input)
try:
    dirList = os.listdir(path)
except OSError:
    print("Invalid directory")
    sys.exit()
for fname in dirList:
    print(fname)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-11
    • 2010-12-18
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 2022-10-21
    相关资源
    最近更新 更多