python - 如何使用现有的 python 脚本处理多个文件
问题描述
我有超过 100 个 .cwa 文件(原始加速度计数据)并且有一个 .py 程序来处理 .cwa 数据并生成一个 .csv 文件。我如何在 python 中编写一个脚本,该脚本可以使用我的 .py 处理所有 .cwa 文件,而无需将文件名单独插入命令行。
我是编程新手,我看过 glob.glob 和 os。walk 但不明白如何使用这些处理多个文件。我想一次读取 1 个 .cwa 文件,使用我的 .py 处理它,然后移动到下一个 .cwa 直到所有内容都被读取并且有相应数量的 csv 文件作为输出。我不想将数据合并到一个文件中。
解决方案
您可以使用 shell 脚本(这里是 Linux 的 bash 示例)列出目录中的文件并为每个文件调用命令:
find /path/to/cwa/files/ -type f -name "*.cwa" -exec /path/to/script.py {} \;
此示例假定 script.py 采用单个参数,即 CWA 文件路径,例如script.py /my/cwa/file.cwa
如果你想坚持使用 Python,for 循环os.listdir
可能是最简单的方法。假设您的 CWA 处理代码在process_cwa()
函数中:
import os
CWA_DIR = '/path/to/cwa/files'
def process_cwa(path):
# process CWA file
pass
# process CWA files from CWA_DIR on disk
for file in os.listdir(CWA_DIR):
if file.endswith(".cwa"):
path = os.path.join(CWA_DIR, file)
process_cwa(path)
推荐阅读
- javascript - 如何解决使用redux的react js中的401错误。?
- python - Python / Selenium - 在调用第二个 driver.get() 后如何保持登录状态?
- sql - Hive SQL 中的转置/数据透视表
- linear-programming - 如何线性化整数和二进制变量的乘积?
- python - 如何从 Python 数据框中保存为列表的数据中删除方括号
- c++ - 如何在 C++ 中正确使用联合?
- python - 如何允许从网络负载均衡器到实例的流量?
- python - 如何预测训练数据集之外的数据
- python - 如何使用 python 脚本重新启动远程桌面?
- woocommerce - WooCommerce API 和产品图片上传