用户输入的Python文件访问

用户输入的Python文件访问,python,file,Python,File,这是我代码中的一个函数,我有一个以前编写的名为numbers.txt的文件。如果他们输入数字或numbers.txt,我将尝试读取该文件。但是,无论输入什么输入,它都会打印文件 userfile = input('Please enter file name: ') if userfile == 'numbers' or 'numbers.txt': f = open('numbers.txt','r') for line in f: print(line) els

这是我代码中的一个函数,我有一个以前编写的名为numbers.txt的文件。如果他们输入数字或numbers.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=='numbers' or 'numbers.txt':  # After the or
在python中,如果字符串不为空(“”),则字符串为True,因此“numbers.txt”为True。 将其更改为:

if userfile == 'numbers' or userfile == 'numbers.txt':

如果userfile=='numbers'或userfile=='numbers.txt':
如果userfile在('numbers','numbers.txt'):
尝试
如果userfile=='numbers'或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')