Python表单新手-预填充表单..可能吗?
这里急需一些帮助Python表单新手-预填充表单..可能吗?,python,forms,python-2.7,tkinter,Python,Forms,Python 2.7,Tkinter,这里急需一些帮助我有这个表单python脚本… 我想用从文件中收集的信息预先填充表单字段 字段应预先填充ip、掩码、网关、dns和本地网络上Web服务器的ip。ip和所有内容都将保存在U盘上的文本文件中。稍后,这些信息将被提取到文本文件中,并写入debian系统的ifconfig文件。(我必须承认我从来没有在python上工作过……我真的不知道我在做什么……但显然我必须这么做……而且速度也很快……所以我尽了最大的努力。脚本本身将通过usb记忆棒在两个不同的基于debian的系统上运行,这些系统需
我有这个表单python脚本…
我想用从文件中收集的信息预先填充表单字段
字段应预先填充ip、掩码、网关、dns和本地网络上Web服务器的ip。ip和所有内容都将保存在U盘上的文本文件中。
稍后,这些信息将被提取到文本文件中,并写入debian系统的ifconfig文件。
(我必须承认我从来没有在python上工作过……我真的不知道我在做什么……但显然我必须这么做……而且速度也很快……所以我尽了最大的努力。
脚本本身将通过usb记忆棒在两个不同的基于debian的系统上运行,这些系统需要更新这些信息。
这就是我到目前为止所做的。是否可以将每个域保存为变量?
可行吗?
非常感谢您的帮助
#!/usr/bin/env python
#-*-编码:utf-8-*-
#
#namnlös.py
#
#版权所有2017用户
#
#此程序是免费软件;您可以重新发布和/或修改它
#它是根据GNU通用公共许可证的条款发布的
自由软件基金会;许可证的第2版;或
#(由您选择)任何更高版本。
#
#这个节目的发布是希望它会有用,
#但没有任何保证;甚至没有对
#适销性或适用于特定用途。请参阅
#有关更多详细信息,请参阅GNU通用公共许可证。
#
#您应该已经收到GNU通用公共许可证的副本
#与此程序一起;如果没有,则写入自由软件
波士顿基金会51楼富兰克林街第五楼
#MA 02110-1301,美国。
#
#
从Tkinter进口*
导入套接字
导入操作系统
导入系统
导入命令
sys.stdout=open('/home/user/Skrivbord/newip.txt',w')
f=打开(“/home/user/Skrivbord/ip.bak”,“r”)
uppgifter=[]
对于f中的行:
uppgifter.append(行)
f、 关闭()
印刷礼品
#Nätverk hämtning fråN Kentima
gw=os.popen(“ip-4路由显示默认值”).read().split()
ip=(([ip代表socket.gethostbyname_ex(socket.gethostname())[2]如果不是ip.startswith(“127.”)或[[(s.connect(([8.8.8.8,53)),s.getsockname()[0],s.close())代表[socket.socket(socket.AF_INET,socket.SOCK_DGRAM)][0][1]+[“找不到ip”])[0])
localip='Den aktiva ipär'
##################桂##################################
字段=‘本地Ip’、‘掩码地址’、‘网关地址’、‘Dns地址’、‘Web服务器地址’
def fetch(条目):
对于条目中的条目:
字段=条目[0]
text=条目[1]。获取()
打印(“%s:“%s”%”(字段,文本))
def makeform(根,字段):
条目=[]
对于字段中的字段:
行=帧(根)
lab=标签(行,宽度=30,文本=字段,锚定='w')
ent=条目(行)
行包装(侧面=顶部,填充=X,padx=10,pady=5)
实验室包装(侧面=左侧)
ent.pack(侧面=右侧,展开=是,填充=X,)
条目。追加((字段,ent))
返回条目
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
root=Tk()
root.title(localip)
ents=makeform(根,字段)
root.bind(“”,(lambda事件,e=ents:fetch(e)))
b1=按钮(root,text='Avsluta',command=root.quit)
b1.包装(侧面=左侧,padx=5,pady=5)
b2=按钮(root,text='Spara',command=(lambda e=ents:fetch(e)))
b2.组件(侧面=左侧,padx=5,pady=5)
root.mainloop()
是的,这是可能的。正如上面评论中指出的,您可以使用条目
小部件上的.insert()
来填充它
from tkinter import *
root = Tk()
entry = Entry(root)
entry.pack()
entry.insert(0, "Lorem Ipsum")
root.mainloop()
如果您正在寻找一种基于文件中的某个字符串填充该文件的方法,那么您只需读入该文件即可。我想这将类似于以下内容:
from tkinter import *
root = Tk()
entry = Entry(root)
entry.pack()
with open("file.txt", "r") as f:
entry.insert(0, f.read())
root.mainloop()
entry.insert(0,一些文本)
是的,这是可行的,而且这种方法在很多地方都有文档记录。我上下搜索过。我似乎找不到答案…这就是我在这里发布的原因。是否可以在正确的方向发布链接,我将不胜感激。从这里开始:
from tkinter import *
root = Tk()
entry = Entry(root)
entry.pack()
with open("file.txt", "r") as f:
entry.insert(0, f.read())
root.mainloop()