我正试图编写一个脚本,从扩展名为“.tp6”的目录中的多个文件中提取数据,最终我将用它们关联的文件名将它们写入csv,但我现在不着重于此
下面的代码适用于约50个文件,然后突然得到一个“UnboundLocalError”,其内容如下:
Traceback (most recent call last):
File "finder5.py", line 22, in module
uncovext(file)
文件“finder5.py”,第17行,在uncovext中
print ('%.3f' % outfloat)
UnboundLocalError:赋值前引用了局部变量“outfloat”
代码如下:
import Tkinter as tk
import tkFileDialog
import os
import glob
#defines the working directory
root = tk.Tk()
root.withdraw()
dir_path = tkFileDialog.askdirectory()
os.chdir(dir_path)
def uncovext(file1):
for line in open(file1, 'r'):
if line.startswith(' UNCONVOLVED INTEGRATED RADIANCE'):
out = line[36:47]
outfloat = (float(out) * 10000)
print('%.3f' % outfloat)
print(file)
#for each file with ext ".tp6"
for file in glob.glob("*.tp6"):
uncovext(file)
有什么想法吗?谢谢大家!
问题是,有时处理的文件没有以
UNCONVOLVED INTEGRATED RADIANCE
开头的行。outfloat
变量永远不会被绑定,因此当uncovext
中的for循环终止时,您的打印语句会失败,因为引用的变量不可用。下面的代码应该显示如何修复该问题相关问题 更多 >
编程相关推荐