Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.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 为什么我的scanf会接到我的教皇的命令_Python_C_Scanf - Fatal编程技术网

Python 为什么我的scanf会接到我的教皇的命令

Python 为什么我的scanf会接到我的教皇的命令,python,c,scanf,Python,C,Scanf,TL;DR:如何使我的scanf(必须是scanf)从python读取输入? 所以我用python编写了这个文件 import subprocess import sys process=subprocess.Popen(["canCHandleIt.exe"],stdout=subprocess.PIPE) res=process.communicate(2) print res[0] 要点很简单。我想让我的C捕捉数字“2”,并按照我的C代码所建议的那样打印两次成功 #include &l

TL;DR:如何使我的scanf(必须是scanf)从python读取输入?

所以我用python编写了这个文件

import subprocess
import sys

process=subprocess.Popen(["canCHandleIt.exe"],stdout=subprocess.PIPE)
res=process.communicate(2)
print res[0]
要点很简单。我想让我的C捕捉数字“2”,并按照我的C代码所建议的那样打印两次成功

#include <stdio.h>
int main(){
    int x;int o;
    scanf("%d",&x);
    for (o=0;o<x;o++){
    printf("Sucsess!");
    }
}
#包括
int main(){
int x;int o;
scanf(“%d”和&x);
对于(o=0;o试试这个:

import subprocess
import sys

process=subprocess.Popen(["canCHandleIt.exe"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
res=process.communicate('2')
print res[0]
…关键区别在于将
stdin=subprocess.PIPE
传递到
Popen()
,并将“2”作为字符串而不是
int
传递到
communicate()

有文件证明:

可选输入参数应该是要发送给子对象的字符串 过程

请注意,如果要将数据发送到进程的stdin,则需要 使用stdin=PIPE创建Popen对象

试试这个:

import subprocess
import sys

process=subprocess.Popen(["canCHandleIt.exe"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
res=process.communicate('2')
print res[0]
…关键区别在于将
stdin=subprocess.PIPE
传递到
Popen()
,并将“2”作为字符串而不是
int
传递到
communicate()

有文件证明:

可选输入参数应该是要发送给子对象的字符串 过程

请注意,如果要将数据发送到进程的stdin,则需要 使用stdin=PIPE创建Popen对象


对不起?我制作这个文件是为了在没有人为干扰的情况下自动完成这项工作(它也取决于输入,所以我不能硬编码)。这是我学习过程的一部分,所以请理解我为什么这么麻烦。你不能发送带有
通信的2,它必须是字符串。请尝试
“2\n”
添加了新行字符。对不起?我制作此文件是为了能够自动执行此操作,而无需人工干预(而且它还取决于输入,因此我无法硬编码)。这是我学习过程的一部分,请理解我为什么要费事。您不能发送带有
通信的2,它必须是字符串。请尝试
“2\n”
添加了新行字符。