将文件名从 bash 传递给 python

Lyn*_*nob 3 python bash

假设我有 1000 个 csv 文件,这些文件在文件夹中具有随机名称test。我有一个 python 脚本script.py。我想编写一个 bash 脚本,它会传递文件夹中每个文件的名称script.py然后运行它,因此 bash 脚本应该运行script.py1000 次,每次使用不同的文件名,例如,首先运行:

with open('records.csv','r') as in_file
Run Code Online (Sandbox Code Playgroud)

下一次运行

with open('vertigo.csv','r') as in_file
Run Code Online (Sandbox Code Playgroud)

我知道我可以在 python 中做到这一点,而无需像这样编写 bash 脚本

import glob
for filename in glob.glob('*.csv'):
   # script here
Run Code Online (Sandbox Code Playgroud)

但是我正在做一些测试,因此我想在 bash 中进行

mur*_*uru 6

使用sys.argv[1]以便从参数中获取文件名:

import sys

with open(sys.argv[1],'r') as in_file
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用各种方法将文件名作为参数传递。例如,使用find

find test/ -type f -name '*.csv' -exec /path/to/script.py {} \;
Run Code Online (Sandbox Code Playgroud)