如何在cmd中键入python文件?

2024-05-23 18:52:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经完成了一个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行中键入上述代码?你知道吗

我希望输入代码: “test1.py‘夏花’,text1.txt” 在cmd中执行上述代码

其中test1.py是py文件的文件名,“summer flowers”是我要在txt文件中搜索和匹配的关键字,text1.txt是txt文件名。你知道吗


Tags: 文件代码pyretxtlinewordfile
2条回答
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 script_name.py keyword filename不需要引号来表示单个单词或逗号。另请注意sys.argv[0]是为文件名保留的,因此sys.argv在运行上述命令时返回['script_name.py', 'keyword', 'filename']。你知道吗

编辑:

就像评论说的,如果你想要一个短语而不是一个单词,你可以在推荐行中使用quotes,这样:

python script_name.py "my phrase" filename

将在sys.argv中作为['script_name.py', 'my phrase', 'filename']返回

使用sys模块。具体来说,^{}

从文档中:

sys.argv

The list of command line arguments passed to a Python script. argv[0] is the script name (it is operating system dependent whether this is a full pathname or not). If the command was executed using the -c command line option to the interpreter, argv[0] is set to the string '-c'. If no script name was passed to the Python interpreter, argv[0] is the empty string.

相关问题 更多 >