gpt4 book ai didi

python - 从一个小的 Python 脚本创建一个 exe

转载 作者:行者123 更新时间:2023-11-30 23:40:29 24 4
gpt4 key购买 nike

我使用 Python 2.7 创建了一个小脚本。

使用 py2exe 我一直在尝试使用 this tutorial 创建可执行文件:

我能够创建名为 sdf.exe 的 exe 文件

我在 sdf.exe 目录中拥有所有必需的库。

当我从命令行运行 sdf.exe 时,我没有收到任何错误和消息;但是该程序并没有执行其预期的操作,即创建一个名为 output.csv 的文件。

当我运行sdf.py时,它可以正常工作;但是,运行 sdf.exe 不会执行任何操作,也不会返回任何错误。

我错过了什么?非常感谢!

完整代码如下:

import csv


thefile = []
output = []


def dowork():
global thefile
sourceFile='e.csv'
thefile=ReadFile(sourceFile)
CleanFile(sourceFile)
ProcessFile()
AddHeader()
WriteFile()

def ReadFile(filename):
return list(csv.reader(open(filename, 'rb'), delimiter=',', quotechar='"'))[1:]

def CleanFile(sourceFile):
global thefile
iBalance=8
iAging=7
thefiletmp=[]
for i, line in enumerate(thefile):
if line[2]=='':
del thefile[i]
else:
if thefile[i][iAging]=='':
thefile[i][iAging]='0'
thefiletmp.append(line[4:])
thefile=thefiletmp


def ProcessFile():
global thefile
iCompany=1
iNum=0
iDate=2
iAging=3
iBalance=4
COMPANIES=GetDistinctValues(1)
mytemparray=[]
mytempfile=[]
TotalEachCustomer=0
for company in COMPANIES:
for line in thefile:
if line[iCompany]==company:
mytemparray.append(line[iCompany])
mytemparray.append(line[iNum])
mytemparray.append(line[iDate])
iAgingCell=int(line[iAging])
line[iBalance]=line[iBalance].replace(',','')
if iAgingCell in range(0,31):
mytemparray.append(line[iBalance])
mytemparray.append('0')
mytemparray.append('0')
mytemparray.append('0')
if iAgingCell in range(31,61):
mytemparray.append('0')
mytemparray.append(line[iBalance])
mytemparray.append('0')
mytemparray.append('0')
if iAgingCell in range(61,91):
mytemparray.append('0')
mytemparray.append('0')
mytemparray.append(line[iBalance])
mytemparray.append('0')
if iAgingCell >90:
mytemparray.append('0')
mytemparray.append('0')
mytemparray.append('0')
mytemparray.append(line[iBalance])
TotalEachCustomer+=float(line[iBalance])
mytemparray.append(line[iBalance])
mytempfile.append(mytemparray)
mytemparray=[]
mytempfile.append(['','','','','','','',''])
mytempfile.append([company+ " Total",'','','','','','',TotalEachCustomer])
mytempfile.append(['','','','','','','',''])
TotalEachCustomer=0
thefile=mytempfile

def AddHeader():
global thefile
thefile[:0]=[['Account Name', 'Num','Date', '0-30', '31-60', '61-90', '91 Plus','Total']]

def WriteFile():
global thefile
out_file = open("output.csv", "wb")
writer = csv.writer(out_file)
for line in thefile:
writer.writerow(line)
out_file.close()


def GetDistinctValues(theColumn):
return sorted(list(set(line[theColumn] for line in thefile)))

最佳答案

我很惊讶它在非编译版本中竟然能工作。我看不到 dowork() 被调用的地方。

我认为您只需将 dowork() 添加到 scipt 的底部

关于python - 从一个小的 Python 脚本创建一个 exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12629133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com