value = input('inch: ')
value = int(value)
result = inch_to_cm(value)
print(result)
或者在命令行script.py arguments中使用参数
value = sys.argv[1]
value = int(value)
result = inch_to_cm(value)
print(result)
或者您可以轻松地导入到任何GUI(Tkinter、PyQT、PyGTK、Kivy,等等)
import tkinter as tk
import script # < import your function
def convert():
value = inch_entry.get()
value = int(value)
result = script.inch_to_cm(value) # < use your function
cm_result['text'] = result
root = tk.Tk()
inch_label = tk.Label(root, text='inch:')
inch_label.grid(row=0, column=0)
inch_entry = tk.Entry(root)
inch_entry.grid(row=0, column=1)
cm_label = tk.Label(root, text='cm:')
cm_label.grid(row=1, column=0)
cm_result = tk.Label(root)
cm_result.grid(row=1, column=1)
button = tk.Button(root, text='Convert', command=convert)
button.grid(row=2, column=0, columnspan=2)
root.mainloop() # it starts program
我假设文件script.py类似于
import sys
def inch_to_cm(value):
return value * 2.54
if __name__ == '__main__':
if len(sys.argv) > 1:
value = sys.argv[1]
else:
value = input('inch: ')
value = int(value)
result = inch_to_cm(value)
print(result)
如果函数中有代码可以获取值并返回结果,而不使用
input()
和print()
,这是很好的因为这样您就可以在文本库程序(控制台程序)中使用
input()
或者在命令行
script.py arguments
中使用参数或者您可以轻松地导入到任何GUI(
Tkinter
、PyQT
、PyGTK
、Kivy
,等等)我假设文件
script.py
类似于它需要
if __name__ == '__main__'
只在直接执行某些代码时运行,而在导入到其他程序时不运行如果函数中没有代码,但可以作为
script.py argument
运行,那么可以使用subprocess运行它并获得结果通过这种方式,您可以在几乎相同的GUI上使用不同的程序
若您使用标准模块argparse在命令行中获取参数,那个么就有一个模块来生成GUI- Gooey
如果您的代码使用
input()
获取数据,那么它可能会造成更大的问题,您可能需要使用subprocess
中的其他函数向input()
发送文本,而使用这种类型的程序可能需要pexpectTkinker是一种向程序添加GUI的简单方法,您实际上可以创建一些好看的界面,所以如果我是您,我会使用Tkinter
相关问题 更多 >
编程相关推荐