Ввод файла - изменение типа данных - PullRequest
0 голосов
/ 25 марта 2020

Извините, я новичок в Python и программировании в целом, так что это, вероятно, довольно просто c .. Я хотел бы написать функцию, которая открывает файл и возвращает содержимое. Если содержимое файла можно интерпретировать как - целое число, вернуть содержимое как целое число. - В противном случае, если содержимое файла можно интерпретировать как число с плавающей точкой, вернуть содержимое как число с плавающей точкой. - В противном случае вернуть содержимое файла в виде строки.

Файл содержит только одну строку.

Я пробовал что-то вроде этого:

def load_file(filename):
    my_file= open(filename, "r")
    my_var = my_file.readline()
    try:
        my_var = int(my_var)
    except:
        ValueError
        try:
            my_var = float(my_var)
        except:
            ValueEror
            pass
    else:
        my_var = my_var
    my_file.close()
    return my_var

И это работает для int и float, но не для str как строки в файле. Тогда я получаю NameError: 'ValueEror' не определено

Можете ли вы помочь мне с этим?

Спасибо

1 Ответ

0 голосов
/ 25 марта 2020

Вы неправильно используете оператор try-except. Вам нужно поймать ValueError, поэтому вам, возможно, придется сделать это следующим образом:

try:
    # TODO: execute some code that might have a chance of throwing exceptions
except ValueError:
    # TODO: handle the error

Чтобы узнать больше об обработке исключений в python, обратитесь к python docs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...