2016-04-29 5 views
-2

Я пытаюсь открыть файл на основе ввода, который вводит пользователь.Открыть файл с переменной

Это код, который у меня есть сейчас, но он всегда кажется, что он идет прямо к блоку исключения, даже когда я ввожу правильное имя файла.

filename = input("Enter a filename: ") 

try: 
    open(filename.txt, "w") 
    print("Succesfully opened", filename,".txt") 

except: 
    print("File cannot be found.") 

Любая помощь будет оценена!

+7

Подсказка: выньте try/except, чтобы вы могли видеть, какую ошибку вы на самом деле получаете. – JETM

ответ

4

Это будет работать.

filename = input("Enter a filename: ") 

try: 
    # Access filename as a variable 
    open(filename + ".txt", "w") 
    print("Succesfully opened", filename,".txt") 

# Catch the specific exception 
except IOError: 
    print("File cannot be found.") 
2

изменение open(filename.txt, "w") к open(filename + '.txt', "w")

-1

Как отмечено @Bharel, это будет работать:

filename = input("Enter a filename: ") 

try: 
    open(filename + ".txt", "w") 
    print("Succesfully opened", filename,".txt") 

except: 
    print("File cannot be found.") 

Проблема была в open(filename.txt, "w") как .txt не является строкой, поэтому самым простым решением является сцепить имя файла с расширение.

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