我正在编写一个函数,该函数正在读取已处理的文件(文件名)。在已处理文件(open_file1)中,所有行都是元组。我的问题在于:为了使用该程序,我必须始终以命令输入作为输入文件名。如果用户在没有输入输入文件名的情况下输入团队标识符,即第三条elif语句,则程序崩溃。所以,我所做的是,在第三个elif语句中,我用一个os语句检查了输入文件的存在性。如果输入文件不存在,我写了一个else语句来请求另一个命令(即输入输入文件名并重新启动)。但是,由于某种原因,当我输入命令作为团队标识符时,程序没有处理第三条elif语句的else语句。有什么建议吗?提前谢谢。
def main():
command=input('Input cmd: ')
while command.lower() !='quit':
if command.lower()=='help':
print("QUIT\n"\
"HELP\n"\
"INPUT filename\n"\
"TEAM identifier\n"\
"REPORT n HITS\n"\
"REPORT n BATTING\n"\
"REPORT n SLUGGING\n")
elif command.startswith('INPUT') and len(command)>6:
file_name=str(command[6:])
open_file1=new_list(file_name)
print(open_file1)
elif command.startswith('TEAM') and len(command)>5:
if os.path.isfile(open_file1):
team_name=str(command[4:])
for line in open_file1:
print(line[1])
else:
command=input('Input cmd: ')
command=input('Input cmd: ')
main()
错误:
Traceback (most recent call last):
File "C:\Users\Dasinator\Documents\Books IX\Python Examples\textbook examples\project 07\openfile.py", line 98, in <module>
main()
File "C:\Users\Dasinator\Documents\Books IX\Python Examples\textbook examples\project 07\openfile.py", line 81, in main
if os.path.isfile(open_file1):
UnboundLocalError: local variable 'open_file1' referenced before assignment
问题出在你的行os.path.isfile(open_file1)
。isfile
函数需要一个字符串,但是得到了一个文件对象(如果open_file1
存在),或者一个非引用变量(如果open_file1
不存在)。
我将用try-except块替换if-else语句:
elif command.startswith('TEAM') and len(command)>5:
try:
team_name=str(command[4:])
for line in open_file1:
print(line[1])
except UnboundLocalError:
command=input('Input cmd: ')
我想检查输入字段是否为空。
本文向大家介绍MATLAB检查C ++ MEX文件中的输入/输出数量,包括了MATLAB检查C ++ MEX文件中的输入/输出数量的使用技巧和注意事项,需要的朋友参考一下 示例 在此示例中,我们将编写一个基本程序,该程序检查传递给MEX函数的输入和输出的数量。 首先,我们需要创建一个实现“ MEX网关”的C ++文件。这是从MATLAB调用文件时执行的函数。 testinputs.cpp 首先,我
问题内容: 尝试检查我要读取的文件是否存在。 问题答案: 这是另一种方法: 包装的用途和功能: p_DirName in varchar2, – schema object name p_FileName in varchar2 ) return number is l_file_loc bfile; begin l_file_loc := bfilename(upper(p_DirName),
本文向大家介绍python检查指定文件是否存在的方法,包括了python检查指定文件是否存在的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python检查指定文件是否存在的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的Python程序设计有所帮助。
我不想使用操作系统命令,因为这使它依赖于操作系统。 这在< code>tarfile、< code > tarfile . is _ tarfile(filename)中可用,用于检查文件是否为tar文件。 我无法在模块中找到任何相关命令。 编辑:为什么我需要这个:我有gzip文件列表,这些文件的大小各不相同(1-10 GB),有些是空的。在读取文件之前(使用),我想检查文件是否为空,因为对于空文
问题内容: 如何在不使用Type语句的情况下查看文件是否存在? 问题答案: 如果你要检查的原因是可以执行类似的操作,则尝试使用 来打开它会更安全。检查然后打开可能会导致文件被删除或移动,或者介于检查和尝试打开文件之间。 如果你不打算立即打开文件,则可以使用 True如果path是现有的常规文件,则返回。这遵循符号链接,因此,对于同一路径,和都可以为。 如果你需要确保它是一个文件。 从Python