IDO老徐,在深圳,某上市公司质量部负责人,干了十二年软件测试,公号"简尚" ,博客isTester.com ,关注「软件测试从业者综合能力提升」,微信957863300

python入门之常用模块及方法

上一篇 / 下一篇  2016-05-03 18:10:02 / 个人分类:Python

51Testing软件测试网!m1YO1b_T8x.Xn2Y
很多同学想学习自动化、学习脚本;老徐基本上推荐的都是Python
为啥?
相对其他语言简单;
今天开始,老徐陆续分享Python入门基础,感兴趣的可关注下;

*Z1@R#\P{Y1p0

DxZ]6f e^ N0

.sys模块

Q:a8_4r umA)j$U)@`0

*sys.path:python的环境变量列表,即执行脚本时,查找的路径列表

uOY%k;jj?o u"C%]0

例:sys.path.append(os.getcwd()):将当前路径加入到路径列表51Testing软件测试网#{W uBtC"k8Y

   还有一种方法就是,将路径写入到pth文件,并将pth文件放到libsitepage目录51Testing软件测试网 [5}wu QQ }

*sys.argv[]:参数列表,sys.argv[0]表示脚本本省,1为第一个参数51Testing软件测试网d1C uA:D

sys.stdout sys.stdin sys.stderr:输出输入流

6CzJ%B:v1X a0

 sys.stdout.write('hello')相当于print

7a2A0F-H+D Q*y/y0

 

;t{ uC iH0

.os模块51Testing软件测试网)X eV"v$BGQMU

os.sep:文件路径分隔符,windows\\51Testing软件测试网0PEO"U#w

os.system(filepath);执行可执行文件

:qSG r$l K#{tV1H p0

os.startfile(filepath):system等价,但是可以忽略路径中的空格

q2Y(|/SL2vd_0A0

os.getcwd():获取当前路径51Testing软件测试网 |_#B Q:VI(T!]

os.chdir():改变当前路径51Testing软件测试网Y7x!{8x2Z,D+p

os.path.dirname():获取文件路径所在目录51Testing软件测试网3f$[ w pp8{N

os.path.abspath():获取绝对路径51Testing软件测试网o0Z2g1` jW8zE

os.listdir():列出目录下的文件以及子目录51Testing软件测试网lS[ P(hn*}"B0`D

os.path.isfile os.path.isdir51Testing软件测试网'MR ~2e4o Qh

例:dirname='a:\temp'

@b~s g.t0

[f for f in os.path.listdir(dirname) is os.path.isfile(os.path.join(dirname,f))]

\0f`r8N!M UGz NT0

列出目录下所有文件,不包含子目录

)G,K x? eYxzr%H0

os.path.split():分割目录

"~"sH{0IK5{JTpT0

例:

[TkGk\2A0

>>>os.path.split('d:\\temp\\script\\sample1.py')

K_ T.]PLPwLQ%?7o0

['d:\\src\\script',''sample1.py']

:|$Rt"H^/b\7}-B WR0

>>>os.path.splittest('hello.py')51Testing软件测试网,Og2\R w+@w

('hello','.py')

hr&i'~3R4lR,P+_0

*os.walkfilepathtopdown=true:遍历文件夹下所有子目录

.u+_qm a0

返回3个元组,dirpath路径,dirname:子目录,filename:文件名称,topdowntrue代表从顶向底迭代

3a L J?.{~0

例:51Testing软件测试网s ^"ZV&s7iD]

>>>for dirpath,dirname,filename in os.walk("d:\\temp"):51Testing软件测试网s_V1n%eD3n

       for f in filename:

-dL2u BP0

           print os.path.join(dirpath,filename)

r`qS5[}5j rU0

 打印文件下的所有文件的完整路径,包括所有子目录下的文件51Testing软件测试网k'd?Q&C2eG0s

 

3`$T#vimx@%A{ q}0d0

 51Testing软件测试网kVeB!H7P%TB

.re模块,正则表达式

Ac*fd&f ^$@&Cr*c;id!a0

re.search('[0-9]','123'):返回matchobject。值为true51Testing软件测试网 wZ0j5`b

re.sub'[a-z]','1',str:将字符串str所有小写字母用1替换

*` D} CoC0

re.groups51Testing软件测试网0Z|/yH2[/V2a8S _

>>>phone=re.compile(r'^(\d{3}-(\d{3})-(\d{4})$')

,P%y@1S/A*m%@7b0

>>>phone.search('123-456-7890').groups()

T#UU,^(aMB L_0

('123','456','7890')

v$o%[%HqBj0

 51Testing软件测试网EcSt ]

 51Testing软件测试网8L%gC8}{(C@

.time模块51Testing软件测试网K)k#AYo)~![E"X

time.sleep(sec):休眠51Testing软件测试网)KT9zb]@LBly6_

time.strftime'%Y%m%d%H%M%S'):生成时间戳51Testing软件测试网&_.ae2wNI+ww:K+i

如:'20160220102101'51Testing软件测试网|[,Xsl @ m%q7~

除了time模块还可以使用datetime模块51Testing软件测试网t bfvM-m

>>> from datetime import datetime

H#b.gnK0

>>> n=datetime.today()

.B(nt$`S0}'^]0

>>> n.year

w$@ F qcj)?0

201651Testing软件测试网L*UpN)Jzl$AI mzsg

 

5n+w WEE'j7Y0

.random模块51Testing软件测试网+p!Nz$`f+zh)Y

*random.randrenge(1,101):生成1101之间的随机数51Testing软件测试网j rHu2p'E

*random.choice:生成给定序列的随机数

jx4l'?`~#O0

>>> random.choice(string.ascii_letters)51Testing软件测试网MR)^'}:}fl$|

'G'

!uX1w hI`^ TT0

random.sample():生成指定长度的随机序列51Testing软件测试网8AkD,? Lo)QJ z

>>> random.sample(string.ascii_lowercase,5)

_ t"RF1V@Sg,B0

['v', 'g', 'j', 'l', 'w']

QjO ~Q0

51Testing软件测试网/U,C}-w ~(_ F
51Testing软件测试网J+i-Sd!tm3@ v


-b8[(?^*| L$jV0

k^!J7a's(Cd&r5A0

TAG: Python

 

评分:0

我来说两句

xuquan

xuquan

IDO老徐,坐标深圳,测试经理,干了十年测试,公号"简尚" ,个人博客isTester.com ,关注「软件测试从业者综合能力提升」,微信957863300

日历

« 2024-02-07  
    123
45678910
11121314151617
18192021222324
2526272829  

数据统计

  • 访问量: 905866
  • 日志数: 427
  • 建立时间: 2012-06-04
  • 更新时间: 2022-02-23

RSS订阅

Open Toolbar