![](/img/trans.png)
[英]How to pass value entered in textbox to flask in text format from django?
[英]I would like to pass the value entered into the textbox to a python program
我写了这段代码
app = Tk()
app.title('Myapp')
app.geometry('260x100+50+50')
labelText =StringVar()
labelText.set('Insert the version you want to check')
label1 = Label(app, textvar=labelText, height=4)
label1.pack()
stringadacercare = StringVar(None)
lastringa = Entry(app, textvar=stringadacercare)
lastringa.place(x=30, y=40, width=200)
progressbar = ttk.Progressbar(orient=HORIZONTAL, length=260, mode='determinate')
progressbar.pack(side='bottom')
progressbar.start()
app.mainloop()
我想将文本框接受的输入而不是raw_input传递到该程序中,以便将其绑定到testV
import csv
import re
import os
testV = raw_input('Insert the version you want to find: ')
fileobj = csv.reader(open('c:\\paths1.csv', 'rb'), delimiter=' ', quotechar='|')
for row in fileobj:
for x in row:
with open(x) as f:
for line in f:
if re.match(testV, line):
print 'The version match: '+ line
else:
print 'wrong version'
filesize= os.path.getsize(x)
print 'The file size is :'+ str(filesize) +' bytes';
有人可以帮我吗? 先感谢您!!!!!
您确定要使用第二个脚本作为单独的程序吗? 如果需要,可以使用子流程模块将变量作为命令行参数传递。
设置GUI以使用按钮并回调如下所示的内容:
import subprocess
from Tkinter import *
import ttk
def btnCallback():
#this is the path to your other script
cmdpath = '/path/to/test.py'
#extract the textbox variable
var = stringadacercare.get()
progressbar.start()
#pass the variable to the command line
proc = subprocess.popen([cmdpath,var])
#block while the subprocess executes
proc.wait()
progressbar.stop()
app = Tk()
app.title('Myapp')
app.geometry('260x100+50+50')
labelText =StringVar()
labelText.set('Insert the version you want to check')
label1 = Label(app, textvar=labelText, height=4)
label1.pack()
stringadacercare = StringVar(None)
lastringa = Entry(app, textvar=stringadacercare)
lastringa.place(x=30, y=40, width=200)
progressbar = ttk.Progressbar(orient=HORIZONTAL, length=260, mode='determinate')
progressbar.pack(side='bottom')
#use a button to execute the subprocess
buttonOK = Button(app,text='GO',command=btnCallback)
buttonOK.pack(side='bottom')
app.mainloop()
重组测试脚本以接受命令行参数。 您也可以将其导入gui应用程序并调用main函数,直接传递变量。
import csv
import re
import os
#need the sys module to get the command line args
import sys
def main(testV):
fileobj = csv.reader(open('c:\\paths1.csv', 'rb'), delimiter=' ', quotechar='|')
for row in fileobj:
for x in row:
with open(x) as f:
for line in f:
if re.match(testV, line):
print 'The version match: '+ line
else:
print 'wrong version'
filesize= os.path.getsize(x)
print 'The file size is :'+ str(filesize) +' bytes'
if __name__=='__main__':
#get the first command line argument and pass it to main
testV = sys.argv[1]
main(testV)
如果要将测试例程用作模块而不是命令行使用,则可以为测试模块添加import语句,然后从按钮回调中调用它。
...
import mytestmodule
def btnCallback():
#extract the textbox variable
var = stringadacercare.get()
progressbar.start()
#call the main function from the test module
mytestmodule.main(var)
progressbar.stop()
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.