|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 隔壁繁星吖 于 2020-4-8 16:58 编辑
为大家总结以下几点Python的小技巧
1.控制台操作控制台不闪退
os.system('pause')
2.获取控制台大小
rows, columns = os.popen('stty size', 'r').read().split()
3.输入输出控制解决输入提示中文乱码问题
raw_input(unicode('请输入文字','utf-8').encode('gbk'))
4.格式化输出
print a.prettify()
5.接受多行输入
text=""
while 1:
data=raw_input(">>")
if data.strip()=="stop":
break
text+="%s " % data
print text
---------------------------
>>1
>>2
>>3
>>stop
1
2
3
6.同行输出
Print '%s' % a,
Print '%s ' % a
7.标准输入输出
sys.stdout.write("input") 标准输入
sys.stdout.flush() 刷新缓冲区
8.print的功能与sys.stdout.write类似,因为2.x中print默认就是将输出指定到标准输出中(sys.stdout)。颜色控制控制台颜色控制(适用于windows)
WConio.textcolor(WConio.YELLOW)
print "yellow"
WConio.textcolor(WConio.BLUE)
print "blue"
9.输出颜色控制(全平台)
red = '[1;31m'
green = '[1;32m'
yellow = '[1;33m'
white = '[1;37m'
reset = '[0m’
print red+"color is red"+reset
print green+"color is green"+reset
10.进度条控制
方案一
from __future__ import division
import sys,time
j = '#'
for i in range(1,61):
j += '#'
sys.stdout.write(str(int((i/60)*100))+'% ||'+j+'->'+" ")
sys.stdout.flush()
time.sleep(0.1)
方案二
import sys
import time
for i in range(1,61):
sys.stdout.write('#'+'->'+"")
sys.stdout.flush()
time.sleep(0.5)
方案三
from progressbar import *
import time
import os
rows, columns = os.popen('stty size', 'r').read().split() #获取控制台size
console_width=int(columns)
total = 10
progress = ProgressBar()
def test():
'''
进度条函数,记录进度
'''
for i in progress(range(total)):
test2()
def test2():
'''
执行函数,输出结果
'''
content="nMask'Blog is http://thief.one"
sys.stdout.write(" "+content+" "*(console_width-len(content)))
time.sleep(1)
sys.stdout.flush()
test()
11.更多高级用法可以使用progressbar模块。系统操作系统信息获取python安装路径
from distutils.sysconfig import get_python_lib
print get_python_lib
12.获取当前时间
c=time.ctime()
#自定义格式输出
ISOTIMEFORMAT=’%Y-%m-%d %X’
time.strftime( ISOTIMEFORMAT, time.localtime() )
13.查看系统环境变量
os.environ["PATH"]
14.获取系统磁盘
os.popen("wmic VOLUME GET Name")
15.获取当前路径(包括当前py文件名)
os.path.realpath(__file__)
16.当前平台使用的行终止符
os.linesep
17.获取终端大小
rows, columns = os.popen('stty size', 'r').read().split()
#python3以后存在可以使用os
os.get_termial_size()
18.退出程序
return:返回函数的值,并退出函数。
exit():直接退出。
sys.exit(): 引发一个SystemExit异常,若没有捕获错误,则python程序直接退出;捕获异常后,可以做一些额外的清理工作。
sys.exit(0):为正常退出,其他(1-127)为不正常,可抛异常事情供捕获。(一般用于主线程中退出程序)
os._exit(0): 直接退出python程序,其后的代码也不会执行。(一般用于线程中退出程序)
19.网络操作域名解析为ip
ip= socket.getaddrinfo(domain,'http')[0][4][0]
获取服务器版本信息
sUrl = 'http://www.163.com'
sock = urllib2.urlopen(sUrl)
sock.headers.values()
20.文件操作输出一个目录下所有文件名称
def search(paths):
if os.path.isdir(paths): #如果是目录
files=os.listdir(paths) #列出目录中所有的文件
for i in files:
i=os.path.join(paths,i) #构造文件路径
search(i) #递归
elif os.path.isfile(paths): #如果是文件
print paths #输出文件名 |
评分
-
查看全部评分
|