我一直在编写一个程序,以3种不同的方式搜索文件。但首先,要选择要使用的搜索程序在命令行中是有区别的。以3种不同的方式搜索文件
例如在命令行I型:
方案1个搜索:蟒file.py 'SEARCH_TERM' '文件将要被搜索的'
方案2的搜索:Python文件的.py -z “编号”“SEARCH_TERM” “文件将要被搜索的”
方案3的搜索:蟒file.py -x “SEARCH_TERM”“文件将要被搜索的”
所有3个搜索脚本都在file.py中。
编码我至今是:
import re
import sys
#program 1
search_term = sys.argv[1]
f = sys.argv[2]
for line in open(f, 'r'):
if re.search(search_term, line):
print line,
# Program 2
flag = sys.argv[1]
num = sys.argv[2]
search_term = sys.argv[3]
f = sys.argv[4]
#program 3
flag = sys.argv[1]
search_term = sys.argv[2]
f = sys.argv[3]
for line in open(f, 'r'):
if re.match(search_term, line):
print line,
计划1个优良工程多数民众赞成在没有问题的。程序2,在文件中找到搜索词并在'number'参数定义的前后打印出若干行,但我不知道如何做到这一点。程序3从search-term中找到完全匹配,并打印出search_term后的所有行。重新匹配是不充分的,因为它只从字符串的开头搜索它并不考虑其余部分。
我最后的问题是如何区分这三个程序?使用命令行中的标志或无标志?
任何帮助,将不胜感激。
感谢
我编辑我的答案,我希望答案是清楚的现在。 – 2009-12-18 00:39:42