根据通配符将参数传递给 python

Pass arguments to python based on wild character

我有一个 shell 脚本 test.sh 如下:

#!/bin/sh
ARG1=/bin/file1.txt
ARG2=/bin/testfile.txt
ARG3=/bin/samplefile.txt

test.py $ARG1 $ARG2 $ARG3

python 脚本读取参数并将文件复制到另一个位置。而不是将所有参数分别定义为 ARG1、ARG2、ARG3。我想使用一个通配符作为 *.txt 来定义它们并将它们传递给 test.py.

我无法更改 python 文件,我只能更改 test.sh 文件。所以基本上使用 *.txt 定义变量并将参数传递给 test.py

我不太熟悉 shell 脚本。有没有一种方法可以将这些变量保存在一个数组中,然后将其分别传递给 python 脚本?

直接打电话

test.py /bin/*.txt

和 bash 会将其扩展为

test.py /bin/file1.txt /bin/testfile.txt /bin/samplefile.txt

要测试 shell 扩展,您可以使用 echo:

echo /bin/*.txt

echo /bin/newfile /bin/*.txt

然后将回显文件列表。