使用命令行簡(jiǎn)單地替換一個(gè)文件中的文本內(nèi)容,并且生成一個(gè)新的自定義文件名的文件。這是我們平時(shí)工作中常見(jiàn)的一個(gè)小任務(wù),下面的這一段小代碼能夠輕松地完成這個(gè)任務(wù):
import os
import sys
usage = "usage: %s search_text replace_text [infilename [outfilename]]" % os.path.basename(
sys.argv[0])
if len(sys.argv) < 3:
print usage
else:
stext = sys.argv[1]
rtext = sys.argv[2]
print "There are %s args " % len(sys.argv)
if len(sys.argv) > 4:
input = open(sys.argv[3])
output = open(sys.argv[4], 'w')
for s in input:
output.write(s.replace(stext, rtext))
input.close()
output.close()
當(dāng)我們使用 “python cookbook_13.py 1 a test.txt new.txt” 命令行的時(shí)候,test.txt 中 1 會(huì)被替換成 a,并且替換后的內(nèi)容寫入到 new.txt 中。
注意:infilename,outfilename 這兩個(gè)參數(shù)沒(méi)有的話,程序并不會(huì)報(bào)錯(cuò),但是會(huì)輸出類似 “There are ...” 的語(yǔ)句。如果命令行參數(shù)小于 3 的話,會(huì)輸出 “usage:。。?!?。
更多建議: