使用autopytoexe将data.csv和main.py添加到单个exe

2024-09-27 21:22:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将用户输入保存到文件并检索数据。在命令提示符下运行main.py时,它工作正常。但是,当我使用auto py to exe将main.py和user_data.csv转换为单个.exe文件时,不会保存和检索任何数据。程序运行得很好。 以下是几行:

要读取数据:

data_file = resource_path('./user_data.csv')
if os.path.exists(data_file):
    userdatas = open(data_file, 'r').read().split("\n")
    userdatas.remove(userdatas[0])
    userdatas.remove(userdatas[int(len(userdatas)-1)])

for userdata in userdatas:
    sls.append(userdata.split(",")[0])
    usernames.append(userdata.split(",")[2])
    passwords.append(userdata.split(",")[3])
    company_Names.append(userdata.split(",")[1])

要获取用户输入,请执行以下操作:

def usercred():
    username = input('Enter E-mail ID: ')
    res_list = [i for i in range(len(usernames)) if usernames[i] == username]
    if len(res_list)>0:
        password = passwords[res_list[0]]
    else:
        password = input('Enter Password: ')
        company_Name = input("Company Name: ")

        sls.append(len(sls)+1)
        usernames.append(username)
        passwords.append(password)
        company_Names.append(company_Name)
        writedata()
    return res_list,username,password,company_Name

要写入数据:

def writedata():
    records = []
    #Initializing writer
    user_data = open(data_file, 'w', buffering=1, encoding='utf8')
    writer = csv.writer(user_data, lineterminator = '\n')
    # Add titles
    titles = ['Sl', 'Name', 'E-mail', 'Password']
    # Write table titles
    writer.writerow(titles)
    # Write Records
    for i in range(len(usernames)):
        records.extend([i+1,company_Names[i],usernames[i],passwords[i]])

        writer.writerow(records)
        records = []

我使用了自动py到exe。在这个项目中,我使用了一个webdriver。我刚刚为webdriver添加了二进制文件,它工作得非常好。代码如下:

driver = webdriver.Chrome(resource_path('./chromedriver.exe'))

当我为用户_data.csv添加数据时,它没有达到它的目的。程序在这里也可以运行。使用“一个文件”和“基于控制台”

如何处理代码,或者如何将.py转换为.exe以使其正常工作

另一个快速问题:有没有办法在完成程序后按任意键或自动关闭控制台

任何帮助都将不胜感激


Tags: 文件数据namepydatalenexecompany

热门问题