鱼C论坛

 找回密码
 立即注册
查看: 1392|回复: 0

[吹水] 有关Python的小技巧

[复制链接]
发表于 2019-11-4 09:31:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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 #输出文件名

评分

参与人数 1荣誉 +1 收起 理由
计算机初学者# + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 07:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表