2014-02-27 72 views
0

我最近開始爲一個朋友製作一個程序,當我嘗試用用戶輸入製作一個目錄列表時,我無法弄清楚如何處理這個錯誤。 目錄示例Python列表目錄無錯

  • 用戶
  • Prefrences
  • 備忘錄

如何讓這個是顯示一樣,如果用戶輸入「家」「無效目錄」錯誤?

這裏是我的代碼小ammount的:

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

是否有任何代碼,我可以包括修復這個錯誤?

謝謝!

+1

'os.listdir'如果路徑無效,將引發一個'OSError'例外...還有什麼你需要?捕獲異常並輸出錯誤消息。 – isedev

+0

你甚至測試了你到目前爲止?如果路徑/目錄不存在,則引發異常,程序將退出。只需添加一個try/except塊來捕捉錯誤,就像@isedev所說的那樣 – samrap

回答

0

正如評論所說,一個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)