【发布时间】:2018-07-28 22:18:39
【问题描述】:
我有一个将 json 文件转换为 csv 的 python 脚本。它目前转换所有文件,但我希望它只在那些尚未转换为 csv 的 json 文件上运行。所有都在同一个目录中。如何修改我的代码:
#!/bin/bash
# file: foo.sh
for f in *.json; do
python ~/bin/convert.py "$f" "-fcsv"
done
【问题讨论】:
-
尚未转换为 csv 的文件 - 您希望如何验证此条件?甚至没有人看到您的
convert.py内容 -
我希望有一些 bash 条件循环,例如:for f in .json && !.csv;做
-
显然您的 convert.py 文件应该将生成的文件重命名为 .csv
-
也许问题是 OP 在很多大型 json 文件上运行它,每个文件都需要很长时间才能转换。所以他正在尝试优化运行时间,以便
convert.py仅在那些尚未转换的文件上运行。那是对的吗? IMO,最好更改 convert.py 程序,而不是在convert.py之上编写一个 bash 包装器(除非您不允许,或者不知道如何更改convert.py程序)