为什么启动后我的应用程序立即关闭

时间:2019-08-08 02:38:29

标签: python tkinter

我是python语言的初学者。我有两个问题。

  1. 当我运行auto-py-to-exe时,我的应用程序无法正常运行。

在我的代码的第8行,我希望用户选择.csv文件以上传到py程序。运行auto-py-to-exe后,该应用程序将关闭,并且不允许用户选择要上传的文件。

在代码中我缺少什么,使应用程序保持打开状态,直到用户选择所需的文件,然后运行其余代码?

pycharm中运行py.file时,它应能正常工作。

下一个问题与本主题无关,但是...

  1. 如何动态传递文件名?

在我的代码的第33行中,我将一个特殊格式的.csv作为result.csv写入本地目录。如何在第33行的path语句中将变量“ filename”作为文件名传递。

df.to_csv('C:\WriteFilesHere\ result.csv')

当我运行程序时,它总是用代码第8行中选择的新文件覆盖"result.csv"。我希望每次运行程序时都使用不同的名称创建一个新文件。

from tkinter import *
import pandas as pd
import csv
from tkinter.filedialog import askopenfilename

Tk().withdraw()
filename = askopenfilename()
print(filename)

with open('preliminary.csv', 'w') as output:
    with open(filename) as csv_file:
        output_data = csv.writer(output, delimiter=",")
        data = csv.reader(csv_file, delimiter=',')
        line_count = 0
        for row in data:

            if line_count == 0:
                output_data.writerow(row)
                line_count += 1
            else:
                output_data.writerow(row)
                line_count += 1
with open("preliminary.csv") as readfile:
    reader1 = csv.reader(readfile)
    read =[]
    for row in reader1:
        if len(row) !=0:
            read = read +[row]
readfile.close()
pd.set_option('display.max_rows',4000)
df = pd.DataFrame(read)
print(df)
df.to_csv('C:\WriteFilesHere\ result.csv')

1 个答案:

答案 0 :(得分:0)

关于exe,您可以声明一个变量并在程序末尾添加:

DonotClose=input("press close to exit") 

它将暂停程序,您可以使用任何喜欢的变量。