将字符串附加到 Python 中子进程中的变量
Appending a string to a variable within subprocess in Python
我正在尝试构建一个 Python 脚本包装器来循环和 运行 另一个名为 meioc 的 python 脚本针对目录中的每个文件。
基本上我有一些旧的 .eml / MIME 编码文件,我用它来分析 headers 并使用 meioc.py.
构建每个 .eml 的摘要
现在我正试图将这个包装器脚本组合在一起,以针对目录中的所有 .eml 调用 meioc.py。它主要工作,但我挂断了 meioc 输出的 -o Output 参数。
这是meioc.py的参数选项;
meioc.py
usage: meioc.py [-h] [-x] [-s] [-o FILE_OUTPUT] [-v] filename
meioc.py: error: the following arguments are required: filename
这是我正在编写的脚本,可让 meioc.py 循环遍历整个目录;
# import required module
import os
import meioc
# assign directory
directory = 'D:/eml_dir'
# iterate over files in
# that directory
for filename in os.listdir(directory):
f = os.path.join(directory, filename)
# checking if it is a file
if os.path.isfile(f):
#print(f)
import subprocess
meioc_cmd = ['python', 'meioc.py', '-o', (f), (f)]
subprocess.call(meioc_cmd)
我快到了,但我想要的是让输出文件成为 -o (f).txt ,但是我在附加 .txt 时遇到了麻烦到这个变量。
meioc_cmd = ['python', 'meioc.py', '-o', (f)如何在此处添加.txt?, (f)]
如果您正在使用 python 3,您可以像 f"{f}"
一样使用 f-strings。这会将变量插入到您的字符串中。
如果你使用的是python 2,你可以"{}".format(f)
。
meioc_cmd = ['python', 'meioc.py', '-o', f"{f}", f"{f}"]
或
meioc_cmd = ['python', 'meioc.py', '-o', "{}".format(f), "{}".format(f)]
我正在尝试构建一个 Python 脚本包装器来循环和 运行 另一个名为 meioc 的 python 脚本针对目录中的每个文件。
基本上我有一些旧的 .eml / MIME 编码文件,我用它来分析 headers 并使用 meioc.py.
构建每个 .eml 的摘要现在我正试图将这个包装器脚本组合在一起,以针对目录中的所有 .eml 调用 meioc.py。它主要工作,但我挂断了 meioc 输出的 -o Output 参数。
这是meioc.py的参数选项;
meioc.py
usage: meioc.py [-h] [-x] [-s] [-o FILE_OUTPUT] [-v] filename
meioc.py: error: the following arguments are required: filename
这是我正在编写的脚本,可让 meioc.py 循环遍历整个目录;
# import required module
import os
import meioc
# assign directory
directory = 'D:/eml_dir'
# iterate over files in
# that directory
for filename in os.listdir(directory):
f = os.path.join(directory, filename)
# checking if it is a file
if os.path.isfile(f):
#print(f)
import subprocess
meioc_cmd = ['python', 'meioc.py', '-o', (f), (f)]
subprocess.call(meioc_cmd)
我快到了,但我想要的是让输出文件成为 -o (f).txt ,但是我在附加 .txt 时遇到了麻烦到这个变量。
meioc_cmd = ['python', 'meioc.py', '-o', (f)如何在此处添加.txt?, (f)]
如果您正在使用 python 3,您可以像 f"{f}"
一样使用 f-strings。这会将变量插入到您的字符串中。
如果你使用的是python 2,你可以"{}".format(f)
。
meioc_cmd = ['python', 'meioc.py', '-o', f"{f}", f"{f}"]
或
meioc_cmd = ['python', 'meioc.py', '-o', "{}".format(f), "{}".format(f)]