如何在cmd中键入python文件?
我已经完成了一个py文件,如下所示:如何在cmd中键入python文件?,python,python-2.7,text-mining,Python,Python 2.7,Text Mining,我已经完成了一个py文件,如下所示: import re file = open('/Path/text1.txt') word = 'summer flowers' try : flag = 0 for line in file : lines = line.lower() x=re.findall('.*'+word+'\s.*',lines) if len(x)>0: flag =1
import re
file = open('/Path/text1.txt')
word = 'summer flowers'
try :
flag = 0
for line in file :
lines = line.lower()
x=re.findall('.*'+word+'\s.*',lines)
if len(x)>0:
flag =1
print line
else:
flag = flag
if flag == 0:
print 'No match!'
except:
print 'No enough arguments!'
我已经将上面的py文件保存为test1.py。我的问题是:如何在cmd行中键入上述代码
e、 g.我希望输入代码:
“test1.py‘夏花’,text1.txt”
在cmd中执行上述代码
其中test1.py是py文件的文件名,“summer flowers”是我想在txt文件中搜索和匹配的关键字,text1.txt是txt文件名
import re
import sys
file = sys.argv[2]
word = sys.argv[1]
try :
flag = 0
for line in file :
lines = line.lower()
x=re.findall('.*'+word+'\s.*',lines)
if len(x)>0:
flag =1
printline
else:
flag = flag
if flag == 0:
print 'No match!'
except:
print 'No enough arguments!'
使用sys
处理命令行内容sys.argv
从命令行返回参数列表,由于您希望在cmd行中运行它,因此使用python脚本_name.py关键字filename
不需要为单个单词或逗号加引号。另请注意,sys.argv[0]
是为文件名保留的,因此如果运行上述命令,sys.argv将返回['script\u name.py','keyword','filename']
编辑:
正如评论所说,如果你想要一个短语而不是一个单词,你可以在推荐行中使用引号
,因此:
python脚本_name.py“我的短语”文件名
将以sys.argv
的形式返回['script\u name.py','my phrase','filename']
使用sys
处理命令行内容sys.argv
从命令行返回参数列表,由于您希望在cmd行中运行它,因此使用python脚本_name.py关键字filename
不需要为单个单词或逗号加引号。另请注意,sys.argv[0]
是为文件名保留的,因此如果运行上述命令,sys.argv将返回['script\u name.py','keyword','filename']
编辑:
正如评论所说,如果你想要一个短语而不是一个单词,你可以在推荐行中使用引号
,因此:
python脚本_name.py“我的短语”文件名
将使用
sys
模块以['script\u name.py','my phrase','filename']
的形式返回sys.argv
。具体来说,
从文档中:
sys.argv
传递给Python脚本的命令行参数列表。argv[0]是脚本名(这取决于操作系统是否为完整路径名)。如果命令是使用解释器的-c命令行选项执行的,则argv[0]被设置为字符串'-c'。如果没有向Python解释器传递脚本名称,则argv[0]是空字符串
使用
sys
模块。具体来说,
从文档中:
sys.argv
传递给Python脚本的命令行参数列表。argv[0]是脚本名(这取决于操作系统是否为完整路径名)。如果命令是使用解释器的-c命令行选项执行的,则argv[0]被设置为字符串'-c'。如果没有向Python解释器传递脚本名称,则argv[0]是空字符串
python.exe your_file.py'summer flowers',text1.txt
就是这样。@RedX您的评论假设为windows操作系统。考虑到OP使用的路径,这可能是不正确的。@RedX您的评论假设为windows操作系统。考虑到OP使用的路径,这可能是不正确的。对于包含空格的输入短语,确实需要引号,though@cricket_007没错,但因为这是他搜索的一个关键词,我想也许只要一个词就可以了,我会编辑。Thanks@Galor当你对答案感到满意时(评分下的复选标记),请随意接受本网站上的任何给定答案。你确实需要引用包含空格的输入短语,though@cricket_007没错,但因为这是他搜索的一个关键词,我想也许只要一个词就可以了,我会编辑。Thanks@Galor当你对答案感到满意时(评分下的复选标记),请随意接受本网站上的任何给定答案。