我有一个编写的python脚本,它使用tkinter和panda进行以下操作: 在桌面上选择一个CSV文件, 导入该数据, 做一些事情, 将创建的新数据帧导出到新的csv中。
是否有一种方法可以运行该程序而无需人打开python IDE并从那里运行它?
目前,当我尝试单击并运行tester.py程序时,我看到cmd_line(终端)框短暂打开,然后关闭,没有我的tkinter提示符或其他任何内容。
我的目标或理想是,我编写此程序来帮助自动执行非技术性同事的某些任务。有没有一种方法可以让我设置此程序,让他们单击exe文件或bat文件,然后运行脚本,收集所需的用户输入,然后按我的要求输出csv文件?>
我已经做了一些简短的Google搜索,但是找不到明确的答案。
import tkinter
import csv
import pandas as pd
from tkinter import Tk
from tkinter.filedialog import askopenfilename
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
print(filename)
df1 = pd.read_csv(filename)
df2 = df1.query("STATE != 'NY'") # stores records not in NY
df3 = df1[df1["FIRST_NAME"].str.contains(" ", regex=True)] # stores records that have a space in the first name
dferror = [df2, df3]
dferror = pd.concat(dferror).drop_duplicates().reset_index() # merges dataframes, drops duplicates
dferror.to_csv("C:\errors.csv")
已编辑以添加我的导入条款
答案 0 :(得分:0)
由于@abarnert,解决方案是使用Pyinstaller,它使我可以将代码“冻结”到exe文件中
答案 1 :(得分:0)
您可以根据自己的操作系统编写一个小的可执行脚本
创建一个.bat
文件,您需要在其中执行命令来执行python文件。
例如c:\python27\python.exe c:\somescript.py %*
供参考,here
创建一个.sh
文件,该文件可以从您的Shell /终端执行,也可以通过双击其符号链接来执行。
您的.sh
文件看起来像
#!/bin/bash
python PATH_TO_YOUR_PYTHON_FILE
然后您必须通过在终端中运行以下命令来使其可执行
chmod u+x PATH_TO_.SH_FILE
或者,您可以创建一个指向python文件的符号链接并使之可执行。双击即可执行此符号链接。 要创建符号链接:
ln -sf PATH_TO_.SH_FILE PATH_OF_SYMLINK
如果仅使用名称代替PATH_OF_SYMLINK
,它将在您当前的目录中创建。