2016-12-05 3 views
1

У меня есть следующий сценарий в Python:исключение задерживается

import sys 


for filename in sys.argv: 
    with open(filename, mode='r') as f: 
     print("Foobar") 

Если я запустить сценарий с несуществующего файла в качестве параметра, я получаю исключение, как и ожидалось. Тем не менее, print() все еще выполняется, хотя я ожидаю, что это не так.

Foobar 
Traceback (most recent call last): 
    File "home/bin/ksp-increment-build", line 16, in <module> 
    with open(filename, mode='r') as f: 
FileNotFoundError: [Errno 2] No such file or directory: 'asdads' 

Почему это?

+0

'if len (sys.argv)> 1: для файла в (sys.argv [1:]): если файл в str (os.walk()):' – dsgdfg

ответ

6

Первый элемент sys.argv - это путь к запуску скрипта, поэтому его можно открыть правильно.

Второй элемент - это несуществующее имя файла, которое выдает ошибку перед функцией печати.

Смежные вопросы