【问题标题】:How to pass variable to a subprocess.run in a Python script?如何在 Python 脚本中将变量传递给 subprocess.run?
【发布时间】:2020-05-16 10:49:30
【问题描述】:

我有以下链接: 将命令行命令合并到我的 python 脚本中,它工作正常。 但我想对文件夹中存在的所有文件运行命令。如何将文件名发送到命令行?我认为应该有一些 for 循环,但我无法击中和弦。我还想将结果保存在 .csv 文件中。

import os
 import subprocess

 list_files = subprocess.run(["file","my_audio.wav"])

怎么做?

for file_name in folder
      output=subprocess.run(["file","file_name"])`
      save output in .csv

【问题讨论】:

  • 为什么需要将进程传递到命令行界面。您可以在 python 中完成整个过程。然后运行python代码做所有事情。
  • 我重新提出了这个问题
  • 我认为您已经使用 glob 模式自己找到了答案。
  • @mumtaz,你试过os.listdir,它返回包含目录中文件名的列表。

标签: python loops csv


【解决方案1】:

找到答案了!

import os
import subprocess
import glob

with open("bit_rate.csv", "w") as fp:
 for file_name in glob.glob('./*.wav'):
    print(file_name)

    subprocess.run(["file",file_name ], stdout=fp)

【讨论】:

    猜你喜欢
    • 2011-12-03
    • 2013-10-24
    • 2021-08-14
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 2020-05-20
    • 2010-09-09
    • 1970-01-01
    相关资源
    最近更新 更多