如何在cmd中键入python文件?

如何在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

我已经完成了一个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

           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当你对答案感到满意时(评分下的复选标记),请随意接受本网站上的任何给定答案。