2019-03-06 14:49:36
270
0
python 笔记三,时间难得
sys模块
sys.argv
sys.modules
sys.path
sys.platform
#str fun(): find /join/lower/replace,split,strip,translate
#coding=utf-8
import sys
def test():
#系统参数包括自己的名字 python.ext p4.py sdfsdf--> ['p4.py', 'sdfsdf']
print("- ".join(sys.argv)) # str_fun() join-- split反着来
mds =sys.modules #所有已加载的模块
for k,v in mds.items(): #dict.items()
if(k.find('_')): #str fun(): find /join/lower/replace,split,strip,translate
print (k,v)
else:
print(k)
print(sys.path) #list
print(sys.platform)
pass
if(__name__=="__main__"):
test()
os模块
import os
import webbrowser
def testOs():
print(os.name) # nt
#print(os.environ) #环境变量 dict
#print(os.environ["PATH"]) #PATH变量
#执行命令等
#os.system("C:\\Users\\admin\Pictures\\333.png") #访问应用
#os.system("cmd dir .") #访问应用
#os.startfile("C:\\Users\\admin\Pictures\\333.png") #win特有
#启动浏览器 更好的方式 import webbrowser
webbrowser.open("https://256kb.cn") #系统默认浏览器
print("c:path1"+os.sep+"path2") #路径分割 c:path1\path2
print("5"+os.linesep+"6") #换行分割
print(os.urandom(4)) #指定位数的字节随机码 b'\xe7t8M'
fileinput模块
果然,能返回函数的语言都有点风骚。。(。・`ω´・),可以预见。
fileinput.input() 返回的是个FileInput Class类,里面实现了__getitem__遍历等等。
(・ˍ・*)我只能佩服。
rstrip()。右侧空格剔除。
lstrip().
python.exe p4.py p123.py
def testFile():
#openhook,编码
for line in fileinput.input(openhook=fileinput.hook_encoded('utf-8')):
print(line.rstrip(),"#",fileinput.lineno()) #rstrip()右侧空格换行去掉 lineno行号
print(fileinput.filename())
set
类似dict,只存key.
frozenset. / tuplu
无需应用包,语言自带。
def testSet():
a=set(range(5))
b=set([0,1,"a",(1,2,3)])
c=a.union(b)
dd=frozenset(b)
a.add(dd) #frozenset tuplu 不可变
print(a)
d1=set([1,1,1]) #set 只存储key
d2={"1":1,"1":2} #存储 key,val
print(d1) #{1}
print(d2) #{'1': 2}
heap堆
看到堆啊,栈的,就头大,还好此堆非彼堆╮( ̄▽ ̄)╭
优先队列,用于高效找到最小元素
规则,位于i位置的元素,永远比位于2*i, 2*i+1处的元素值小.(内部排序算法)
使用 heapq.heappop. heappush操作 heap对象
heapify 将普通list变成 合法的heap。
nlargest取topN.
import heapq
from random import shuffle
def testheap():
datas=list(range(10))
hp=[]
shuffle(datas) #随机排序
for v in datas:
heapq.heappush(hp,v)
for v in range(10):
print(heapq.heappop(hp))
print(hp)
print(hp)
hp2=list(range(5)) #普通dict
heapq.heapify(hp2) #内部算法排序,变成合法的堆
heapq.heappush(hp2,8)
heapq.heappush(hp2,18)
print(hp2)
print(heapq.nlargest(2,hp2))
print(heapq.nsmallest(2,hp2))
输出,每heappop出一个数,可以看到内部heap都会重新处理,但是pop出的必定为最小值。
0
[1, 2, 3, 5, 4, 8, 7, 9, 6]
1
[2, 4, 3, 5, 6, 8, 7, 9]
2
[3, 4, 7, 5, 6, 8, 9]
3
[4, 5, 7, 9, 6, 8]
4
[5, 6, 7, 9, 8]
5
[6, 8, 7, 9]
6
[7, 8, 9]
7
[8, 9]
8
[9]
9
[]
[]
2019-03-06 17:05:34
0
赞
赏
本文基于CC BY-NC-ND 4.0 许可协议发布,作者:野生的喵喵。 固定链接: 【Python学习笔记三】 转载请注明
相关文章:
发表新的评论
文章分类
文章归档
标签
deb ,
,
蓝屏 ,
select ,
html5 ,
tomcat ,
gcc ,
ajax ,
apt-get update ,
选择 ,
js加密 ,
java ,
工作 ,
ocr ,
AngularJs ,
感慨 ,
work ,
click ,
javascript ,
反向代理 ,
ip查询 ,
空间查询 ,
word ,
ECS服务器 ,
centos ,
杂 ,
StartupWMClass ,
前端 ,
js ,
vmdk ,
感概 ,
select2 ,
virtualbox ,
gg代理 ,
share ,
seo ,
风筝 ,
email ,
ASR ,
转换 ,
cool ,
activiti-ui ,
喵小凡 ,
@PropertySource ,
ckeiditor ,
网站攻击 ,
SRILM ,
风景 ,
plugin ,
vdi ,
扩容 ,
chorme ,
阿里云 ,
KALDI ,
num ,
packer2 ,
pic ,
gg镜像 ,
win8.1 ,
ecs ,
mysql ,
Ubuntu ,
快递查询 ,
nginx ,
ubuntu ,
swap ,
maven ,
entropy_avail ,
tencent ,
语音识别 ,
prerender ,
xfce4 ,
进度条 ,
存储过程 ,
activiti ,
熵 ,
日出 ,
练笔 ,
虞美人 ,
nodejs ,
词 ,
demo ,
jquery ,
random ,
linux ,
cat ,
bootstrapValidator ,
angularJs ,
live ,
on ,
gg ,
雪 ,
婚姻 ,
景色 ,
@Autowired ,
pdf ,
emqttd ,
优化 ,
thchs30 ,
opencv ,