叶落下了思念,风摇曳那些岁岁年年
本文用作记录,在使用python过程中遇到的一些奇技淫巧,有些代码是本人所写,有些则是python内置函数,有些则取之互联网。在此记录,只为备份以及遗忘时方便查找。
本文将会持续更新,内容仅限记录一些常用好用却又永远记不住的代码或者模块。
控制台操作
控制台不闪退1os.system('pause')
获取控制台大小1rows, columns = os.popen('stty size', 'r').read().split()
输入输出控制
解决输入提示中文乱码问题1raw_input(unicode('请输入文字','utf-8').encode('gbk'))
格式化输出1print a.prettify()
接受多行输入1
2
3
4
5
6
7
8
9
10
11
12
13
14
15text=""
while 1:
data=raw_input(">>")
if data.strip()=="stop":
break
text+="%s\n" % data
print text
---------------------------
>>1
>>2
>>3
>>stop
1
2
3
同行输出1
2Print '%s' % a,
Print '%s \r' % a
标准输入输出1
2sys.stdout.write("input") 标准输入
sys.stdout.flush() 刷新缓冲区
print的功能与sys.stdout.write类似,因为2.x中print默认就是将输出指定到标准输出中(sys.stdout)。
颜色控制
控制台颜色控制(适用于windows)1
2
3
4WConio.textcolor(WConio.YELLOW)
print "yellow"
WConio.textcolor(WConio.BLUE)
print "blue"
输出颜色控制(全平台)1
2
3
4
5
6
7
8red = '\033[1;31m'
green = '\033[1;32m'
yellow = '\033[1;33m'
white = '\033[1;37m'
reset = '\033[0m’
print red+"color is red"+reset
print green+"color is green"+reset
进度条控制
方案一1
2
3
4
5
6
7
8from __future__ import division
import sys,time
j = '#'
for i in range(1,61):
j += '#'
sys.stdout.write(str(int((i/60)*100))+'% ||'+j+'->'+"\r")
sys.stdout.flush()
time.sleep(0.1)
方案二1
2
3
4
5
6import sys
import time
for i in range(1,61):
sys.stdout.write('#'+'->'+"\b\b")
sys.stdout.flush()
time.sleep(0.5)
方案三1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25from progressbar import *
import time
import os
rows, columns = os.popen('stty size', 'r').read().split() #获取控制台size
console_width=int(columns)