在没有IDE的情况下运行Python脚本

时间:2018-07-20 18:53:00

标签: python

我有一个编写的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")

已编辑以添加我的导入条款

2 个答案:

答案 0 :(得分:0)

由于@abarnert,解决方案是使用Pyinstaller,它使我可以将代码“冻结”到exe文件中

答案 1 :(得分:0)

您可以根据自己的操作系统编写一个小的可执行脚本

Windows

创建一个.bat文件,您需要在其中执行命令来执行python文件。

例如c:\python27\python.exe c:\somescript.py %*

供参考,here

MacOS / Linux

创建一个.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,它将在您当前的目录中创建。