我正在尝试编写一个脚本 1. 列出目录的内容,创建它的列表(temp.txt),将列表转换为字符串并将其写入文件 2. 打开另一个文本文件(t .txt) 并将打开文件的内容与之前保存的文件 (temp.txt) 进行比较并返回差异。这个想法是脚本将能够判断文件夹中是否有新文件。函数 dif 作为独立脚本工作得很好,但是当作为函数嵌套时,我收到以下错误消息:
Enter directory > /users
Traceback (most recent call last):
File "/Users/alkopop79/NetBeansProjects/comparefiles.py", line 33, in <module>
dir()
File "/Users/alkopop79/NetBeansProjects/comparefiles.py", line 12, in dir
li.append(fname)
UnboundLocalError: local variable 'li' referenced before assignment
和脚本:
import os
li = []
lu = []
le = []
def dir():
dir = raw_input("Enter directory > ")
path=dir # insert the path to the directory of interest
dirList=os.listdir(path)
for fname in dirList:
li.append(fname)
li = ','.join(str(n) for n in li)
targetfile = open("temp.txt", 'w')
targetfile.write(li)
targetfile.close()
print li
def open_file():
txt = open('t.txt')
li = txt.read()
la = li.split()
return la
print len(li)
def open_another():
txt = open('temp.txt')
lu = txt.read()
lo = lu.split()
return lo
print len(li)
dir()
a = open_file()
b = open_another()
print set(a) & set(b)