手记

python学习——python中命令行参数和os模块


python中的命令行参数

python中有一个模块sys,sys.argv这个属性提供了对命令行参数的访问。命令行参数是调用某个程序时除程序名外的其他参数。

sys.argv是命令行参数的列表

len(sys.argv)是命令行参数的个数

下面我们用一个简单的例子来说明一下。

#!/usr/bin/python

#coding:utf-8

import sys   ##加载sys这个模块。

for i in range(len(sys.argv)):

    print "第%d个参数是:%s" % (i,sys.argv[i])

print

运行上面的脚本:

python argv.py 1 2 3

结果如下:

第0个参数是:argv.py

第1个参数是:1

第2个参数是:2

第3个参数是:3

从上面的脚本运行结果我们能看得出来第一个参数是脚本名本身也就是第0个参数。其余的一次类推。

有了这个sys.argv参数我们就可以向脚本传递一些我们想要用的参数。

另一个比较常用的模块os.path可以完成对路径的操作。它提供的函数可以完成管理和操作文件路径中的各个部分,获取文件或子目录信息,文件路径查询操作。

下面列出一些os模块中常用的函数:

函数名:作用:

os.mkfifo('path/filename')/os.mknod('path/filename',mode,device)创建命名管道/创建文件系统节点

os.remove('path/filename') 删除文件

os.rename('path/filename1','path/filename2')/renames() 重命名文件

os.stat('path/filename') 返回文件信息

os.symlink('path/filename','path/ln_filename') 创建符号链接

os.utime() 更新时间戳

os.tmpfile() 创建并打开('w+b')一个新的临时文件

os.walk() 生成一个目录树下的所有文件名

目录/文件夹

os.chdir()/fchdir()  改变当前工作目录/通过一个文件描述符改变当前工作目录

chroot() 改变当前进程的根目录

listdir() 列出指定目录的文件

getcwd()/getcwdu() 返回当前工作目录/功能相同,但返回一个Unicode对象

mkdir()/makedirs() 创建目录/创建多层目录

rmdir()/removedirs() 删除目录/删除多层目录

访问/权限

access()  检验权限模式

chmod()   改变权限模式

chown()/lchown()  改变ower和group ID /功能相同,但不会跟踪链接

umask() 设置默认权限模式

文件描述符操作

open() 底层的操作系统open(对于文件,使用标准的内建open() 函数)

read()/write() 根据文件描述符读取/写入数据

dup()/dup2()  复制文件描述符号/功能相同,但是是复制到一个文件描述符设备号。

makedev() 从major和minor设备号创建一个原始设备号

major() /minor() 从原始设备号获得major/minor设备号

下面是os.path模块中的路径名访问的一些函数

函数描述

os.path.basename()去掉目录路径,返回文件名

os.path.dirname() 去掉文件名,返回目录路径

os.path.join() 将分离的各部分组合成一个路径名

os.path.split() 返回(dirname(),basename())元组

os.path.splitdrive() 返回(dirvename,pathname)元组

os.path.splitext() 返回(filename,extension)元组

信息

getatime() 返回最近访问时间

getctime() 返回文件创建时间

getmtime() 返回最近文件修改时间

getsize() 返回文件大小(以字节为单位)

查询

exists() 指定路径(文件或目录)是否存在

isabs() 指定路径是否为绝对路径

isdir() 指定路径是否存在且为一个目录

isfile() 指定路径是否存在且为一个文件

islink() 指定路径是否存在且为一个符号链接

ismount() 指定路径是否存在且为一个挂载点

samefile() 两个路径名是否指向同一个文件

以上模块和函数在python脚本中经常用到,在这里记录一下。^-^

©著作权归作者所有:来自51CTO博客作者ZhouLS的原创作品,如需转载,请注明出处,否则将追究法律责任


0人推荐
随时随地看视频
慕课网APP