在许多文件上从windows命令提示符运行python

2024-09-23 21:55:57 发布

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

这是一个愚蠢的问题,我知道是的,但由于某些原因,我找不到任何有用的教程来从windows命令提示符下运行python,所以我不得不问你们。 我有一个脚本,我需要在所有文件上运行FY*.txt或WS*.txt在一个目录中。我试着通过命令提示符进入目录

for file in FY*.txt; do python my_script.py

它只是告诉我“文件”在这个时候是意外的。我也试过了

^{pr2}$

import sys
inputfilenames=sys.argv[1:27]

for name in inputfilenames:
    datafile=open(name,'r')

就像我在python脚本中打开文件一样。这似乎只在一个文件上运行脚本,而不是所有文件。在

我很抱歉我的无知,我真的不知道如何使用命令提示符运行python的东西。以及答案,如果有人有任何教程的建议,我将非常,非常感谢。在


Tags: 文件namein目录txt脚本forws
1条回答
网友
1楼 · 发布于 2024-09-23 21:55:57

我不太确定初始示例应该是什么,但是要在标准的Windows命令提示符下执行此操作,可以使用以下命令:

for %G in (FY*.txt); do python my_script.py %G

如果执行类似操作,则需要在代码中包含以下内容:

^{pr2}$

或者,您可以考虑使用^{}模块获取第二个示例中的文件列表并处理它们。也就是说,在你的脚本中,你会有这样的内容:

for line in fileinput.input():
    do_something_with(line)

或者您可以将通配符表达式作为一个参数,并使用^{}模块,这样就可以运行:

python my_script.py FY*.txt

然后在你的脚本中做一些类似的事情:

for file in glob.glob(sys.argv[1]):
     with open(file, 'r') as f:
         do_something_to(f)

glob可以在多个参数上运行:

for files in([glob.glob(arg) for arg in sys.argv[1:]]):
    for file in files:
        with open(file, 'r') as f:
            do_something_to(f)

这将允许您执行:

python my_script FY*.txt WS*.txt

相关问题 更多 >