限制尝试只读几次文件

时间:2015-12-04 09:49:45

标签: python python-3.5

我想在尝试打开文件时尝试限制(比如说三次),但无法找到该文件。

std::vector<char>

上面代码的结果,没有限制。如何在上述代码中加入限制。 我使用的是python 3.5。

3 个答案:

答案 0 :(得分:2)

while True:替换为for _ in range(3):

_是一个变量名称(也可以是i)。按照惯例,此名称表示您故意不在下面的代码中使用此变量。这是一个&#34;一次性&#34;变量

range(python 2.7+中的xrange)是一个序列对象,它(懒惰地)生成一个介于0和作为参数给出的数字之间的序列。

答案 1 :(得分:2)

如果您成功打开文件,则在范围内循环三次:

for _ in range(3):
    inputfilename = input('Type the filename then press enter: ')
    try:
        inputfile  = open(inputfilename,"r", newline='')
        break
    except FileNotFoundError:
        print ('File does not exist')
        print ('')

或者把它放在一个函数中:

def try_open(tries):
    for _ in range(tries):
        inputfilename = input('Type the filename then press enter: ')
        try:
            inputfile = open(inputfilename, "r", newline='')
            return inputfile
        except FileNotFoundError:
            print('File does not exist')
            print('')
    return False


f =  try_open(3)
if f:
    with f:
        for line in f:
            print(line)

答案 2 :(得分:0)

如果您想使用while循环,则以下代码可以正常工作。

count = 0
while count < 3:
    inputfilename = input('Type the filename then press enter: ')
    try:
        inputfile  = open(inputfilename,"r", newline='')
        count += 1
    except FileNotFoundError:
        print ('File does not exist')
        print ('')