Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中subprocess.Popen中未显示的字符串变量值_Python - Fatal编程技术网

python中subprocess.Popen中未显示的字符串变量值

python中subprocess.Popen中未显示的字符串变量值,python,Python,我有一个python脚本,其任务之一是向电子邮件地址发送邮件。下面是我的代码的样子: subject = "Some subject "+str(abc) content = "Some content" ml = subprocess.Popen('echo content | mutt -a "file_to_attach.log" -s subject -- myemailid@somedomain.in', shell=True) ml.communicate() 上面的代码向我发送了

我有一个python脚本,其任务之一是向电子邮件地址发送邮件。下面是我的代码的样子:

subject = "Some subject "+str(abc)
content = "Some content"
ml = subprocess.Popen('echo content | mutt -a "file_to_attach.log" -s subject -- myemailid@somedomain.in', shell=True)
ml.communicate()

上面的代码向我发送了一封电子邮件,主题为“subject”,内容为“content”,而不是我分配给它们的字符串值。你能告诉我如何实现我的目标吗?谢谢。

问题在于您没有将
内容
主题
变量传递到
子流程中。如果要调用
,请尝试下面的代码:

subject = "Some subject "+str(abc)
content = "Some content"
ml = subprocess.Popen('echo "{content}" | mutt -a "file_to_attach.log" -s "{subject}" -- myemailid@somedomain.in'.format(content=content, subject=subject), shell=True)
ml.communicate()
我曾经将主题和内容传递到您的
subprocess.Popen
调用中

subject = "Some subject "+str(abc)
content = "Some content"
ml = subprocess.Popen('mutt -a "file_to_attach.log" -s subject -- myemailid@somedomain.in', stdin=subprocess.PIPE, shell=True)
ml.communicate(content)
您已经打开了一个管道,提到stdin=subprocess.pipe并将内容传达给subprocess

您可以尝试以下操作:

subject = "Some subject "+str(abc)
content = "Some content"
ml = subprocess.Popen(['echo', content, '|', 'mutt', '-a', 'file_to_attach.log', '-s', subject, '-- myemailid@somedomain.in'], shell=True)
ml.communicate()

我尝试了上述方法,并使用python3 my_script.py运行了我的脚本。但它给了我一个错误:
无法统计机器:没有这样的文件或目录
。我该怎么办?尽管如果我执行
ml=subprocess.Popen('echo“Random content”| mutt-a“file”to_attach.log)-s“Random subject”--myemailid@somedomain.in,shell=True)