python學習之三

霖楓發表於2012-12-10

匯入一些常用庫和使用:

OS庫

   getcwd -> 獲取當前目錄  chdir -> 改變當前目錄  system  ->呼叫shell命令  (改變當前目錄的目的就是可以在其他目錄進行別的操作)

>>> import os
>>> os.getcwd()
`/home/lihe/hanxinsemi/trunk/sandbox/python`
>>> os.chdir(`/home/lihe`)
>>> os.system(`mkdir today`)
0

shutil 庫

將 前者 複製成  後者 在當前目錄, 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`]

argparse庫

類似使用者友好命令列介面,可以提供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 
1

subprocess庫

呼叫外部命令,比如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


相關文章