PYTHON:如何将星号(*)作为命令行argumen传递

2024-04-26 23:14:03 发布

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

我正在尝试制作一个python脚本来搜索文件中的单词。 如果我传递txt,它将只查找扩展名为.txt的文件,但我希望将*作为参数传递到每个文件中进行搜索。在

if sys.argv[4] == "*"

别工作如果我努力

^{pr2}$

它打印出脚本的名字

find.py

但与

print sys.argv[0]

因为它会回来

./find.py

那么,有人已经有了这个问题,当然,解决了?在


Tags: 文件pytxt脚本ifsysfind名字
1条回答
网友
1楼 · 发布于 2024-04-26 23:14:03

你的外壳也给*附加了意义。调用脚本时需要对其进行转义,以防止shell扩展它:

python find.py \*

sys.argv[0]是用于运行脚本的确切名称。它可以是相对路径(./find.py../bin/find.py)或绝对路径,具体取决于调用它的方式。使用os.path.abspath()将其规范化。在

相关问题 更多 >