Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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中的bash脚本通信_Python_Windows_Bash_Mingw - Fatal编程技术网

与python中的bash脚本通信

与python中的bash脚本通信,python,windows,bash,mingw,Python,Windows,Bash,Mingw,我正在Windows下从python脚本运行一些shell测试脚本。shell脚本正在测试各种模块的功能 我面临的问题是一些脚本可能会挂起。为此,我为每个脚本添加了一个超时。此超时具有默认值。但是这个超时值可以通过bash脚本更改-通过bash函数(SetMaxTime)-我可以修改SetMaxTime 当使用默认值时,我在Python中等待这段时间,如果没有完成BASH脚本,我会认为测试由于超时而失败。 问题是当超时的默认值从bash更改时。有没有一种方法可以与python中的bash脚本(使

我正在Windows下从python脚本运行一些shell测试脚本。shell脚本正在测试各种模块的功能

我面临的问题是一些脚本可能会挂起。为此,我为每个脚本添加了一个超时。此超时具有默认值。但是这个超时值可以通过bash脚本更改-通过bash函数(SetMaxTime)-我可以修改SetMaxTime

当使用默认值时,我在Python中等待这段时间,如果没有完成BASH脚本,我会认为测试由于超时而失败。

问题是当超时的默认值从bash更改时。有没有一种方法可以与python中的bash脚本(使用mingw运行)通信


注意:脚本在Windows下运行。

确保可以在它们之间进行通信,只需从一个或多个文件(一个用于Python写入,一个用于bash脚本读取,另一个用于visa versa情况)进行读写即可。

设置超时值时,让脚本在stdout上输出信息。例如,当超时更改时,脚本可以输出:

TIMEOUT_SECONDS=2
在调用脚本的Python代码中,在被调用脚本的输出中查找该标记,并相应地调整测试超时


为此,您可能希望使用方法调用脚本,为stdout指定
PIPE
选项。然后,您需要在测试运行时读取subprocess属性,查找脚本中的
TIMEOUT\u SECONDS=xxx
输出并调整超时时间。

您的问题过于笼统,无法回答。向我们展示你的代码,解释你认为它可能有什么问题,我们会做出修复。我已经给出了一个一般性的答案。我认为有更好的方法来解决这个问题。但由于这不是一项时间紧迫的任务,我可以使用文件。我同意,这是一种可怕的方法,但作为一种快速而肮脏的解决方案,它将起作用。