python Tkinter接受键盘输入并保存文件
最近想用python写个切换host的小工具,折腾了好几天,终于实现了第一步。
采用Tkinter编程,text控件接受输入,然后点击save按钮,保存内容到当前文件夹下,文件名为hostb,如下两张图片:
直接上代码:
- #支持中文
- #!coding:gbk
- #导入需要的包
- from Tkinter import *
- import time
- import os
- import sys;
- #reload sys
- reload(sys);
- #设置系统的默认编码为utf8
- sys.setdefaultencoding('utf8')
- root = Tk()
- #定义键盘时间,敲击键盘,会被打印
- def key(event):
- print "pressed", repr(event.char)
- #定义save按钮的点击事件,保存内容到文件当中
- def saveClick(event):
- with open (os.getcwd()+ r'hostb','w+') as fb:
- fb.write(text.get(0.0,'end'))
- frame = Frame(root, width=300, height=300)
- frame.pack()
- #在frame中定义text空间
- text=Text(frame)
- #放入默认的文案
- text.insert(INSERT,"this is text……")
- #为text bind事件
- text.bind("<Key>",key)
- text.pack()
- #定义button按钮
- button=Button(frame,text='save')
- #为按钮绑定事件
- button.bind("<Button-1>",saveClick)
- button.pack()
- root.mainloop()
- 参考资料:http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm
- 此次比较简单,后续会完善整个程序,为自己做个笔记吧。
python Tkinter接受键盘输入并保存文件的更多相关文章
- tkinter获取键盘输入
tkinter获取键盘输入
- 代码实现:从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名
package com.loaderman.test; import java.io.File; import java.io.FileReader; import java.util.Scanner ...
- Python 3 学习笔记之——键盘输入和读写文件
1. 键盘输入 Python提供了 input() 内置函数从标准输入读入一行文本,默认的标准输入是键盘.input 可以接收一个 Python 表达式作为输入,并将运算结果返回. str = inp ...
- Python 注释和键盘输入,输出数据格式化
Python中的注释有单行注释和多行注释: Python中单行注释以 # 开头,例如: # 这是一个注释 print("Hello, World!") 多行注释用三个单引号 ''' ...
- Java接受键盘输入
import java.util.Scanner;//方法1 import java.io.BufferedReader;//方法2 import java.io.IOException;//方法3 ...
- python 自带的ide 不能保存文件
初学python 用shell写的代码结果不能保存,经查询,原因有人说是因为文件里有中文, import random secret =random.randint(1,100) guess=0 tr ...
- python学习===从键盘输入一些字符,逐个把它们写到磁盘文件上,直到输入一个 # 为止。
#!/usr/bin/python # -*- coding: UTF-8 -*- if __name__ == '__main__': from sys import stdout filename ...
- python+selenium模拟键盘输入
from selenium.webdriver.common.keys import Keys #键盘导入类 --------------------------------------------- ...
- C语言 创建一个 txt 文件 bin输入字符 保存文件在工作文件夹里
int main(void) { char s[70]; FILE *fp; fp=fopen("123.txt","r"); if((fp=fopen(&qu ...
随机推荐
- 动态调用webservice 接口
1.url:http://localhost:8002/名称.asmx(asmx结尾) 2.需要引用的命名空间:System.Web.Services 3.调用代码: public class Dyn ...
- 编程实现linux下的shell
/************************************************************************* > File Name: Kris_shel ...
- poj 3621(最优比率环)
题目链接:http://poj.org/problem?id=3621 思路:之前做过最小比率生成树,也是属于0/1整数划分问题,这次碰到这道最优比率环,很是熟悉,可惜精度没控制好,要不就是wa,要不 ...
- VISO下载地址
http://pan.baidu.com/share/home?uk=4011207371#category/type=0
- copy
拷贝文件,不覆盖重复文件 yes no|cp -i a b
- jackson set properties to default value (取消让jackson 赋予默认值)
you can define it with Integer rather than int or long. define it with a package type. jackson wont' ...
- SVN与CVS的区别大全(转载)
本节讲解SVN与CVS的区别,主要包括是否更好的冲突标识与处理,是否有更多的本地/离线操作以及元数据管理问题. 更好的冲突标识与处理 通过是否进行更好的冲突标识与处理看SVN与CVS的区别:C ...
- AA投资
AA投资创建于2015年,总部位于北京,创始人成妙绮和王浩泽,专注于天使轮的技术创新驱动的TMT项目投资. 投资方向 AA投资是一家2015年才成立的风险投资机构,专注于种子轮.天使轮.Pre-A轮的 ...
- 存储入门 – RAID技术(大图解释)
对于RAID,一直都知道个概念,但是对于细节没有去仔细的研究过.正好昨天Training的时候, 老师讲解了RAID的内容,所以顺便就整理一下.很多内容都是参考了ISMv2这本书. RAID中用到的技 ...
- 【原创】Eclipse中为SVN设置快捷键
SVN是深受开发者喜爱的版本控制工具,其较CVS有更好的控制策略.在Android开发中,我也选择SVN作为版本控制工具.Eclipse的SVN插件名叫Subclipse,可以到htt ...