我想在尝试打开文件时尝试限制(比如说三次),但无法找到该文件。
std::vector<char>
上面代码的结果,没有限制。如何在上述代码中加入限制。 我使用的是python 3.5。
答案 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 ('')