剛學(xué)python不久白对,在處理數(shù)據(jù)時(shí)每次都是在程序里面載入或讀取數(shù)據(jù)文件,當(dāng)文件名改變時(shí)就得修改程序,后來(lái)才知道python的sys模塊有個(gè)argv[]函數(shù)可以獲取命令行參數(shù)捌浩,包括python腳本的名字, 輸入文件的名字等工秩。如執(zhí)行下列命令時(shí):
python example.py file1 file2 ...
example.py腳本中的sys.argv[0]
的值就是"example.py"尸饺,即python腳本的文件名进统,sys.argv[1]
的值為"file1",sys.argv[2]
的值為"file2"等等
于是只要在程序中載入sys模塊浪听,并把要處理的數(shù)據(jù)文件名用argv[]函數(shù)讀入就可以進(jìn)行后續(xù)處理了螟碎,并且對(duì)輸出文件可以根據(jù)輸入的數(shù)據(jù)文件名進(jìn)行命名。示例代碼如下:
#!/usr/bin/env python
# Usage: "python scriptname.py data.dat"
import sys
# load data
datafile = sys.argv[1]
data = np.loadtxt(datafile)
# calculate
...
# save the result
outfile_name = "prefix_"+sys.argv[1]
outfile = open("%s"%outfile_name,"w") #將結(jié)果保存為以“prefix_"為前綴迹栓,后面接數(shù)據(jù)文件名的文件
outfile.write(...)
outfile.close()