导入一些常用库和使用:
OS库
getcwd -> 获取当前目录 chdir -> 改变当前目录 system ->调用shell命令 (改变当前目录的目的就是可以在其他目录进行别的操作)
>>> import os >>> os.getcwd() '/home/lihe/hanxinsemi/trunk/sandbox/python' >>> os.chdir('/home/lihe') >>> os.system('mkdir today') 0shutil 库
将 前者 复制成 后者 在当前目录, move操作将当前目录下的文件到别的目录下 是剪切的形式,不是复制!
>>> import shutil >>> shutil.copyfile('test1.txt', 'test1.bak')
>>> shutil.move('test1.bak', './move')glob库
搜索当前目录下该类型文件,并以list形式列出
>>> import glob >>> glob.glob('*.txt') ['test1.txt', 'example.txt', 'test2.txt', 'test.txt']sys库
取参数列表,就像mian(int argv, char **argc)一样 ,python也可以取出参数列表,比较方便!
$ ./test.py one two three import sys print sys.argv ['./test.py', 'one', 'two', 'three']
类似用户友好命令行接口,可以提供help服务,可以对输入的参数列表进行处理,自动输出想要的结果,可以有默认的参数设置:
import argparse parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument('integers', metavar='N', type=int, nargs='+', help='an integer for the accumulator') parser.add_argument('--sum', dest='accumulate', action='store_const', const=sum, default=min, help='sum the integers (default: find the max)') args = parser.parse_args() print args.accumulate(args.integers)
$ ./test.py -h usage: test.py [-h] [--sum] N [N ...] Process some integers. positional arguments: N an integer for the accumulator optional arguments: -h, --help show this help message and exit --sum sum the integers (default: find the max) [lihe@hxsrv1 python]$ ./test.py 1 2 3 4 4 [lihe@hxsrv1 python]$ ./test.py 1 2 3 4 --sum 10 [lihe@hxsrv1 python]$ vi test.py [lihe@hxsrv1 python]$ ./test.py 1 2 3 4 1subprocess库
调用外部命令,比如shell脚本:
>>> import subprocess >>> subprocess.call(["ls", "-l"]) total 44 -rw-rw-r-- 1 lihe lihe 59 Dec 6 17:45 example.txt drwxrwxr-x 2 lihe lihe 4096 Dec 10 09:53 move -rw-rw-r-- 1 lihe lihe 349 Dec 10 08:59 test1.txt -rw-rw-r-- 1 lihe lihe 11 Dec 10 09:25 test2.txt -rwxrwxr-x 1 lihe lihe 1008 Dec 10 10:26 test.py -rw-rw-r-- 1 lihe lihe 0 Dec 10 08:32 test.txt 0
>>> subprocess.call("exit 1", shell=True) 1