没有成功使一个python文件运行另一个
问题描述:
我想使一个python文件运行另一个只有当用户选择该选项,并且每次运行另一个文件时,无论发生了什么。没有成功使一个python文件运行另一个
我有两个选择:
- 如果用户选择选项1:代码需要运行SendMenu文件。
- 如果用户选择了选项2:代码需要运行RecvimagesMenu文件 ,但它不工作,就像我想,它会打开SendMenu文件,当我运行代码。
代码:
import sys
from Tkinter import *
import Image, ImageTk
import SendMenu
import RecvimagesMenu
mGui = Tk()
def mhello():
global v
if(v.get() == 1): # if the user chose option 1
mGui.destroy()
SendMenu.run()
if(v.get() == 2): # if the user chose option 2
mGui.destroy()
RecvimagesMenu.run()
else: # if the user didn`t choose any option
print "5"
def Action():
global v
print (v.get())
def close(): # close the window
exit()
def menu():
global v
v = IntVar()
menubar = Menu(mGui) # menu
filemenu = Menu(menubar, tearoff=0) # menu works
filemenu.add_command(label="Close", command=close)
menubar.add_cascade(label="File", menu=filemenu)
mGui.geometry('450x300+500+300')
mGui.title('Nir`s ScreenShare')
canvas = Canvas(mGui, width=500, height=150)
canvas.pack(pady = 10)
pilImage = Image.open("logo5.png")
image = ImageTk.PhotoImage(pilImage)
imagesprite = canvas.create_image(0, 0, image=image, anchor="nw")
Radiobutton(mGui, text="Share My Screen ", variable=v, value=1, command = Action).pack(anchor=CENTER)
Radiobutton(mGui, text="Watch Another`s Screen", variable=v, value=2, command = Action).pack(anchor=CENTER, pady = 7.5)
mbutton = Button(mGui, text='Start', command=mhello).pack() # button\
mGui.config(menu=menubar) # menu helper
mGui.mainloop()
menu()
答
你的问题是,当你输入你的Python文件到另外一个,它运行的所有代码。既然你没有给出这些2的代码,我可以做出一个有教养的猜测。你是不是把代码在这些文件到功能
for example:
def printme(str):
print("str"
print"Hello world again"
如果这个只要你输入的代码是在一个RecvimagesMenu.py它将打印“Hello世界再次”然后调用RecvimagesMenu.printme("hello world")
它将打印“你好,世界”。
在您的文件中,您也有代码不在正在执行的函数中。要么删除此代码,要么将其移入函数中并调用它们。
此代码按我的预期工作。你确定问题不在'SendMenu'或'RecvimagesMenu'吗? –
SendMenu或RecvimagesMenu没有问题,它只是打开SendMenu文件,当我运行它,我不知道为什么......它应该运行mHello函数只是当用户点击开始按钮时,也许问题是我做“导入SendMenu”/“导入RecvimagesMenu”? –
当我从代码中删除导入并运行它, 它告诉我,当按下START按钮时,它将进入mhello fucntion ... 但是如果我使用导入运行它,它只是开始运行第一个导入(SendMenu)而不用等待用户的选择..是什么问题试图运行什么文件?如果文件有问题,它不需要运行它的命令就可以运行它。 –