Я использую TKinter для отображения интерфейса и прошу импортировать 2 файла, CSV и TXT.после открытия файлов path
следует сохранить на f1 и f2, а затем перейти к внешнему * .py scrip os.system(*.py f1 f2)
для внутреннего использования на сценариях Tkinter. Панды DF и файл txt успешно выполнены и прочитаны.проблема, с которой я столкнулся, возникает, когда я хочу сохранить путь в переменной, а затем создать строку для вставки в os.system
Я установил print()
для проверки пути.
# tk Frame for request files
import sys
import os
import tkinter as tk
import pandas as pd
from tkinter import filedialog
import csv
root= tk.Tk()
canvas1 = tk.Canvas(root, width = 400, height = 400, bg = 'lightsteelblue2', relief = 'raised')
canvas1.pack()
f1 = ''
f2 = ''
def importCSV ():
global df
fin = filedialog.askopenfilename(title = "Select file",filetypes = (("csv files","*.csv"),("all files","*.*")))
print(fin)
f1 = fin
df = pd.read_csv(fin)
def importTXT ():
global df
fin2 = filedialog.askopenfilename(title = "Select file",filetypes = (("txt files","*.txt"),("all files","*.*")))
print(fin2)
f2 = fin2
with open(fin2) as f1:
for line in f1:
line.strip()
print(f1 + f2)
# prepare values to pass to os.system()
# pass = 'python Eje_SysArg.py ' + f1 + ' ' + f2
def CrearCom ():
global df
#os.system(pass)
os.system('python Eje_SysArg.py f1 f2')
ImportAsButton_CSV = tk.Button(text='Import Parameters "CSV"', command=importCSV, bg='green', fg='white', font=('helvetica', 12, 'bold'))
canvas1.create_window(200, 100, window=ImportAsButton_CSV)
ImportAsButton_TXT = tk.Button(text='Import command "TXT"', command=importTXT, bg='green', fg='white', font=('helvetica', 12, 'bold'))
canvas1.create_window(200, 200, window=ImportAsButton_TXT)
CreateAsButton = tk.Button(text='Create Script', command=CrearCom, bg='green', fg='white', font=('helvetica', 12, 'bold'))
canvas1.create_window(200, 300, window=CreateAsButton)
root.mainloop()
текущий результат для графического интерфейса:
D:\python\Multicomando>python GUI_v1.py
D:/python/Multicomando/SCCPGT.csv
D:/python/Multicomando/comando.txt
Eje_SysArg.py
fin
fin2
ожидаемый результат ('python Eje_SysArg.py D:/python/Multicomando/SCCPGT.csv D:/python/Multicomando/comando.txt')