[英]How do I assign an input from one python script to be an input in another script as well
I currently have two different python scripts.我目前有两个不同的 python 脚本。 The first one converts parquet files to xlsx and the second is really just trying to build a gui to be able to run the first script.**
第一个将镶木地板文件转换为 xlsx,第二个实际上只是尝试构建一个 gui 以便能够运行第一个脚本。**
Here is the first script:这是第一个脚本:
import pandas as pd
import os
import pyarrow
import shutil
from pathlib import Path
file = input("What file would you like to convert from parquet to csv? ")
df1 = pd.read_parquet(file)
df = df1.append(df1, ignore_index=True)
dirout = input("Where would you like the xlsx file to be output to?")
name = input("What would you like to call the ouput file?" )
cfile = os.path.join(dirout, name + "." + "xlsx")
df.to_excel(cfile)
In this second script I would like the user to input txt that would feed file, name and dirout.在第二个脚本中,我希望用户输入可以提供文件、名称和目录的 txt。 Is that possible?
那可能吗?
import os
from tkinter import *
window = Tk()
window.title("Convertor")
#Sets the size of the window
window.geometry('550x400')
#Adds a header to the window and configures the size
lbl = Label(window, text="Convert Parquet to CSV", font=("Arial Bold", 18))
#Configures where the label message will appear
lbl.grid(column=0, row=0)
#adds an input text message
txt = Entry(window,width = 30)
txt.grid(column=3, row=3)
txt = Entry(window,width = 30)
txt.grid(column=4, row=4)
def clicked():
os.system('python ParquetToCsv.py')
#Adding a button
btn = Button(window, text="Convert", command=clicked)
btn.grid(column=6, row = 6)
#The mainloop causes the window to remain open until someone interacts with it
window.mainloop()
Turn your first script into a function with arguments for the variables you want to pass:将您的第一个脚本转换为带有要传递的变量的参数的函数:
def myfunc(f, n, dir):
file = f
df1 = pd.read_parquet(file)
df = df1.append(df1, ignore_index=True)
dirout = dir
name = n
cfile = os.path.join(dirout, name + "." + "xlsx")
df.to_excel(cfile)
Then import the function into the other script and call it passing the arguments:然后将该函数导入另一个脚本并调用它并传递参数:
import os
from tkinter import *
from myutils import myfunc
window = Tk()
window.title("Convertor")
#Sets the size of the window
window.geometry('550x400')
#Adds a header to the window and configures the size
lbl = Label(window, text="Convert Parquet to CSV", font=("Arial Bold", 18))
#Configures where the label message will appear
lbl.grid(column=0, row=0)
#adds an input text message
txt_name = Entry(window,width = 30)
txt.grid(column=3, row=3)
txt_file = Entry(window,width = 30)
txt.grid(column=4, row=4)
txt_dir = Entry(window,width = 30)
txt.grid(column=4, row=4)
def clicked():
os.system('python ParquetToCsv.py')
#Adding a button
btn = Button(window, text="Convert", command=clicked)
btn.grid(column=6, row = 6)
#The mainloop causes the window to remain open until someone interacts with it
window.mainloop()
# Call function passing the arguments
myfunc(txt_file, txt_name, txt_dir)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.