Python中文
首页
教程
问答
标签
搜索
登录
注册
Python-Subprocess-如何在Windows中调用Piped命令?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>如何使用子流程运行此命令?</p> <p>我试过:</p> <pre><code>proc = subprocess.Popen( '''ECHO bosco|"C:\Program Files\GNU\GnuPG\gpg.exe" --batch --passphrase-fd 0 --output "c:\docume~1\usi\locals~1\temp\tmptlbxka.txt" --decrypt "test.txt.gpg"''', stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, ) stdout_value, stderr_value = proc.communicate() </code></pre> <p>但得到:</p> <pre><code>Traceback (most recent call last): ... File "C:\Python24\lib\subprocess.py", line 542, in __init__ errread, errwrite) File "C:\Python24\lib\subprocess.py", line 706, in _execute_child startupinfo) WindowsError: [Errno 2] The system cannot find the file specified </code></pre> <p>我注意到的事情:</p> <ol> <li>在windows上运行命令 控制台工作正常。</li> <li>如果我移除 ECHO bosco部分,运行良好 上面的电话。所以我想 此问题与echo或 |. </li> </ol>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你说得对,回声是问题所在。如果没有shell=True选项,则找不到ECHO命令。</p> <p>失败的原因是您看到的错误:</p> <pre><code>subprocess.call(["ECHO", "Ni"]) </code></pre> <p>通过:打印Ni和0</p> <pre><code>subprocess.call(["ECHO", "Ni"], shell=True) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
基于datafram中的1列选择具有最高值的行
1 回答
基于DataFram中的datetime对象间隔获取值
7 回答
基于datafram中的两个条件生成布尔值列
2 回答
基于datafram中的两列删除异常值
7 回答
基于datafram中的值对列表排序
9 回答
基于datafram中的值求和
7 回答
基于Datafram中的值的彩色条形图
4 回答
基于DataFram中的值计数保留前n个项的所有行
8 回答
基于DataFram中的值重命名具有相同列名的列
9 回答
基于datafram中的其他值更改dataframe的值
4 回答
基于datafram中的列值获取更改日期
4 回答
基于datafram中的列创建6个条形子图
5 回答
基于DataFram中的另一列填充缺少的值
8 回答
基于datafram中的唯一值生成大量列
5 回答
基于datafram中的多个列联接
7 回答
基于DataFram中的字符串格式创建额外的行
8 回答
基于datafram中的排序值旋转多行
10 回答
基于datafram中的条件在python中创建记录
8 回答
基于DataFram中的条件检索列
10 回答
基于DataFram中的次要时间增量获取值
5 回答