python的标准库

python的标准库

正则表达式

re.search()
re.match()
re.sub()
str=re.sub(pattern,replacement,string)
re.findall()

时间与日期

-time包
time.time()
time.clock()
time.sleep(10)
st=time.gmtime()
st=time.localtime()
s=time.mktime(st)

-datetime包
简介
import datetime
t=datetime.datetime(2012,9,3,21,30)
print(t)
运算
import datetime
t=datetime.datetime(2012,9,3,21,30)
t_next=datetime.datetime(2012,9,5,23,30)
delta1=datetime.timedelta(seconds=600)
delta2=datetime.timedelta(weeks=3)
print(t+delta1)
print(t+delta2)
print(t_next-t)
datetime对象与字符串转换
from datetime import datetime
format=”output-%Y-%m-%d-%H%M%S.txt”
str=”output-2012-12-14-102334.txt”
datetime.strptime(str,format)

print t_next.strftime(format)

路径与文件
os.path包
import os.path
path=”home/vamei/doc/file.txt”
print(os.path.basename(path))#查询路径中包含的文件名
print(os.path.dirname)#查询路径中包含的目录
info=os.path.split(path)
path2=os.path.join(“/”,”home”,”vamei”,”doc”,”file1.txt”)
p_list=[path,path2]
print(os.path.commonprefix(p_list))

print (os.path.exists(path))
print (os.path.getsize(path))
print (os.path.getatime(path))
print (os.path.getmtime(path))

glob包
import glob
print(glob.glob(“/home/vamei/*”))

文件管理

-os包
mkdir(path)
rmdir(path)
listdir(path)
remove(path) 删除path指向的文件
rename(src,dst)重命名文件,src和dst为两个路径,分别表示重命名之前和之后的路径
chmod(path,mode)改变path指向的文件的权限。
chown(path,uid,gid)改变path所指向文件的拥有者和拥有组
stat(path) 查看path所指向文件的附加信息。
symlink(src,dst)为文件dst创建软连接,src为软连接文件的路径。
getcwd() 查询当前工作路径

shutill包
copy(src,dst)
复制文件,从src到dst。
move(src,dst)
移动文件,从src到dst。

存储对象

-pickle包
1.将内存中的对象转换成为文本流
计算机的内存中存储的是二进制的序列。我们可以直接将某个对象所对应位置的数据抓取下来,转换为文本流(这个过程叫做serialize),然后将文本流存入到文件中。由于python在创建对象时,要参考对象的类定义,所以当我们从文本中读取对象时,必须在手边要有该对象的类定义,才能懂得如何去重建这一对象。从文件读取时,对于python的内建(built-in)对象,由于其类定义已经载入内存,所以不需要我们再在程序中定义类。但由于用户自行定义的对象,就必须要先定义类,然后才能从文件中载入对象。

import pickle

class Bird(Object):
feather=True
way_of_reproduction=”egg”

summer=Bird()
str=picklg.dumps(summer)

2 重建对象
import picklg
filename=”a.pkl”
with open(filename,”r” ) as f:
summer=picklg.load(f)

import cPickle as pickle:

子进程

subprocess包主要功能是执行外部的命令和程序

进程是程序的一个具体实现。同一个程序可以执行多次,每次都可以在内存中开辟独立的空间来装载,从而产生多个进程。
第一列PID是一个整数,第二列command是这个进程的简称。第三列cmd是进程所对应的程序以及运行时所带的参数。
新的进程要通过老的进程复制自身得到,者就是fork.
在linux中,线程只是一种特殊的进程。多个线程之间可以共享内存空间和IO接口。

使用subprocess包中的函数创建子进程的时候,要注意:
1.在创建子进程之后,父进程是否暂停,并等待子进程运行。
2. 函数返回什么
3. 当returncode不为0时,父进程如何处理

subprocess.call()
父进程等待子进程完成
返回退出信息

subprocess.check_call()
父进程等待子进程完成

subprocess.check_output()
父进程等待子进程完成
返回子进程向标准输出的输出结果

import subprocess
rc=subprocess.call([“ls”,”-l”])

import subprocess
out=subprocess.call(“ls -l”,shell=True)
out=subprocess.call(“cd ..”,shell=True)

-Popen()

import subprocess
child=subprocess.Popen([“ping”,”-c”,”5”,”www.google.com”])
print(“parent process”)

import subprocess
child=subprocess.Popen([“ping”,”-c”,”5”,”www.google.com”])
child.wait()
print(“parent process”)

child.poll() #检查子进程状态
child.kill() #终止子进程
child.send_signal()#向子进程发送信号
child.terminate()#终止子进程

子进程的PID存储在child.pid

-子进程的文本流控制
child.stdin #子进程的标准输入
child.stdout#子进程的标准输出
child.stderr #子进程的标准错误

import subprocess

child1=subprocess.Popen([“ls”,”-l”],stdout=subprocess.PIPE)
child2=subprocess.Popen([“wc”],stdin=child.stdout,stdout=subprocess.PIPE)
result=child2.communicate()

child=subprocess.Popen([“cat”],stdin=subprocess.PIPE)
child.communicate(“vaname”)
通过使用subprocess包,我们可以运行外部程序。这极大的拓展了python的功能。如果你已经了解了操作系统的某些应用,你可以从python中直接调用该应用,并将应用的结果输出给python,并让python继续处理。

信号

没有深入了解

多线程与同步

我们在函数中使用global来声明变量为全局变量,从而让多线程共享i和lock。我们设置可以可变数据对象作为参数来传递给线程函数。

oop创建线程

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值