我有下面的python2.7代码。其目的是读取csv文件并运行csv文件中每一行的脚本。在
CSV文件如下所示(无标题,A列中的所有文件名-每行一个文件名,而不是逗号分隔)
ftp_abc_REFRESH_a
ftp_dep_a
该脚本适用于第一个文件,但在第二个文件中失败,并出现以下错误:
^{pr2}$感谢任何帮助。谢谢:)
剧本:
def myscript(ofile):
import time
import pysftp
import sys
import os
from datetime import datetime
import calendar
import zipfile
import re
oupload = pysftp.Connection(host="hostbcd", username="admin", password="abcs")
d = datetime.utcnow()
unixtime=calendar.timegm(d.utctimetuple())
month = datetime.now().strftime("%m")
string = ofile+month+".*\.txt$"
possibleFiles = oupload.listdir("/")
for filename in possibleFiles:
filedate = re.search(string, filename)
if filedate:
file = filename
timestamp = oupload.stat(file).st_atime
#if timestamp > unixtime - 54050 - 30 days
if timestamp != unixtime:
newtime=unixtime + 1800
abmfile='filename_'
zipname = abmfile+str(newtime)+'.sync.zip'
create_zip = zipfile.ZipFile(zipname, 'w', zipfile.ZIP_DEFLATED)
oupload.get(file,file)
oupload.close()
newfilename = abmfile+str(newtime)+'.sync'
os.rename(file, newfilename)
create_zip.write(newfilename)
create_zip.close()
else:
print "No files found"
import csv
with open("data.csv", 'r') as csv_file:
reader = csv.reader(csv_file)
for row in reader:
ofile = row[0]
result = myscript(ofile)
错误显示了几乎所有信息:
UnboundLocalError: local variable 'file' referenced before assignment
这意味着您正在尝试使用之前未设置的内容。在
初始化
file
的唯一时刻是在if语句if filedate
中。您没有传递条件,因此会出现错误和未初始化的file
对象。在相关问题 更多 >
编程相关推荐