Вот функция в моем коде, у меня есть ранее написанный файл с именем numbers.txt. Я пытаюсь прочитать этот файл, если они введут числа или числа .txt. Однако он печатает файл независимо от того, какой ввод был введен.
userfile = input('Please enter file name: ')
if userfile == 'numbers' or 'numbers.txt':
f = open('numbers.txt','r')
for line in f:
print(line)
else:
print('Sorry, this file does not exist')
Или if userfile in ('numbers', 'numbers.txt'):
попробуйте if userfile=='numbers' or userfile=='numbers.txt':
Проблема в этой строке:
if userfile=='numbers' or 'numbers.txt': # After the or
В python строка имеет значение True, если она не пуста (''), поэтому 'numbers.txt' имеет значение True. Измените его на:
if userfile == 'numbers' or userfile == 'numbers.txt':
userfile=input('Please enter file name: ')
if (userfile=='numbers') or (userfile=='numbers.txt'):
try:
f=open('numbers.txt','r')
except:
print('Sorry, this file does not exist')
exit()
for line in f:
print(line)
else:
print('Sorry, this file does not exist')
if userfile=='numbers' or userfile=='numbers.txt':