Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.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提示_Python_Bash - Fatal编程技术网

自动输入Python提示

自动输入Python提示,python,bash,Python,Bash,我正在尝试编写一个python脚本,它将为我执行一个bash命令行程序。这个程序要求用户输入两次,我希望我的脚本每次自动输入“1” 我听说过这样的事情: os.system("program < prepared_input") os.system(“程序>导入操作系统 >>>操作系统(“bashso.sh

我正在尝试编写一个python脚本,它将为我执行一个bash命令行程序。这个程序要求用户输入两次,我希望我的脚本每次自动输入“1”

我听说过这样的事情:

os.system("program < prepared_input")
os.system(“程序

如何编写准备好的输入?谢谢。

用两行创建文件:

1
1
并在bash脚本中使用
read
,以获取输入:

演示:

$ cat abc
1
1
$ cat so.sh
#!/bin/bash
read data
echo "You entered $data"
read data
echo "Now you entered $data"
$ bash so.sh <abc
You entered 1
Now you entered 1
$cat abc
1.
1.
$cat so.sh
#!/bin/bash
读取数据
echo“您输入了$data”
读取数据
echo“现在您输入了$data”
$bash so.sh>>导入操作系统
>>>操作系统(“bashso.sh
我想让您的示例发挥作用,您需要:

prepared_input = "<input goes here>"
os.system("program < {0}".format(prepared_input))
prepared_input=“”
系统(“程序<{0}”。格式(准备好的输入))

但是,根据你想做什么,几乎可以肯定有更好的方法来实现它。如果您向我们提供更多关于您正在做什么以及为什么要做的信息,我们或许可以建议一些替代方案。

使用pexpect将对您有效

这是解决方案-

您确定“输入到此处”功能确实正常吗?我认为它将尝试以shell命令的形式运行“InputGoeshere”包含的内容
prepared_input = "<input goes here>"
os.system("program < {0}".format(prepared_input))