python一些常用代码-python的一些常用的标准库

一、sys

这是一个用来跟python解释器交互的模块。

sys.argv

用来想python解释器传递参数,也叫"命令行参数”。

代码如下:#coding=utf-8

import sys

print "The file name:",sys.argv[0]

print "The number of arg:",len(sys.argv)

print "Thr arg is:",str(sys.argv)

执行:python 123.py 1 2 3The file name: 123.py

The number of arg: 4

Thr arg is: ['123.py', '1', '2', '3']

sys.exit()

用于退出当前程序,与return的差别时,return返回一个值,而sys.exit()则返回一个异常SystemExit。

代码如下:#coding=utf-8

import sys

for i in range(10):

if i == 5:

sys.exit()

else:

print i

执行结果:0

1

2

3

4

需要注意的是,我们可以使用sys.exit(0)来表示正常退出;也可以sys.exit("there is something error")来提示错误

sys.path

python解释器搜索模块的路径,类似linux的PATH变量,是个list,可以用append()添加路径。

sys.stdin,sys.stdout,sys.stderr

标准输入,标准输出,标准错误

代码如下:>>> import sys

>>> out = sys.stdout

>>> f = open("/tmp/sadas","w")

>>> sys.stdout = f

>>> print 1

>>> print 2

>>> print 3

>>> f.close()

>>> sys.stdout = out

>>> print 4

4

>>> print 5

5

需要注意的是,如果我们只需要写部分stdout到某个文件,必须要先将stdout赋值给一个变量。

二、os

os.raname

重命名文件或目录>>> import os

>>> os.rename('b.txt','a.txt')

>>> os.rename('dirb','dira')

os.remove

删除一个文件,注意是文件,不能删除目录>>> os.remove('a.txt')

os.listdir

返回目录中的文件列表,注意是个list,并且不能区分是个文件还是个目录buranle@buranle:~/dira$ ls

1 2 3 4 5 a

>>> os.listdir('dira')

['5', '4', 'a', '2', '1', '3']

os.getcwd,os.chdir

当前工作目录,改变工作目录>>> os.getcwd()

'/home/buranle'

>>> os.chdir('/tmp')

>>> os.getcwd()

'/tmp'

>>> os.pardir

'..'

另外注意,os.pardir是个变量,指向父目录,即..

os.makedirs,os.removedirs

需要注意的是,这里的removedirs只能删除空目录。>>> os.getcwd()

'/home/buranle'

>>> os.listdir('dira')

['5', '4', 'a', '2', '1', '3']

>>> os.removedirs('dira')

Traceback (most recent call last):

File "", line 1, in

File "/usr/lib/python2.7/os.py", line 170, in removedirs

rmdir(name)

OSError: [Errno 39] Directory not empty: 'dira'

>>> os.removedirs('dira/a')

>>> os.listdir('dira')

['5', '4', '2', '1', '3']

>>> os.makedirs('dira/testdir')

>>> os.listdir('dira')

['5', '4', '2', 'testdir', '1', '3']

如果我们要删除一个非空的目录,可以使用shutil的rmtree模块>>> import shutil

>>> shutil.rmtree('dira')

注意,os.makedirs还有一个功能,可以建立多层目录,类似于mkdir -p>>> os.makedirs('/tmp/1/1/1/1/1')

>>> os.listdir('/tmp/1/1/1/1/1')

[]

os.mkdir和os.rmdir的功能大部分类似,不同的是mkdir和rmdir都只能针对一层目录。

os.stat

查看文件或目录的属性>>> os.stat('/home/buranle')

posix.stat_result(st_mode=16877, st_ino=1050957L, st_dev=20atime=1446148660, st_mtime=1446148643, st_ctime=1446148643)

具体的信息为,权限模式,inode_number,设备,number of hard links,用户id,群组ID,文件大小(以位为单位),文件的atime,文件的mtime,文件的ctime>>> import os

>>> import stat

>>> st = os.stat('/home/buranle')

>>> mode = st.st_mode

>>> mode

16877

>>> print bin(stat.S_IMODE(mode))

0b111101101

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值