与python中的bash脚本通信
我正在Windows下从python脚本运行一些shell测试脚本。shell脚本正在测试各种模块的功能 我面临的问题是一些脚本可能会挂起。为此,我为每个脚本添加了一个超时。此超时具有默认值。但是这个超时值可以通过bash脚本更改-通过bash函数(SetMaxTime)-我可以修改SetMaxTime与python中的bash脚本通信,python,windows,bash,mingw,Python,Windows,Bash,Mingw,我正在Windows下从python脚本运行一些shell测试脚本。shell脚本正在测试各种模块的功能 我面临的问题是一些脚本可能会挂起。为此,我为每个脚本添加了一个超时。此超时具有默认值。但是这个超时值可以通过bash脚本更改-通过bash函数(SetMaxTime)-我可以修改SetMaxTime 当使用默认值时,我在Python中等待这段时间,如果没有完成BASH脚本,我会认为测试由于超时而失败。 问题是当超时的默认值从bash更改时。有没有一种方法可以与python中的bash脚本(使
当使用默认值时,我在Python中等待这段时间,如果没有完成BASH脚本,我会认为测试由于超时而失败。
问题是当超时的默认值从bash更改时。有没有一种方法可以与python中的bash脚本(使用mingw运行)通信注意:脚本在Windows下运行。确保可以在它们之间进行通信,只需从一个或多个文件(一个用于Python写入,一个用于bash脚本读取,另一个用于visa versa情况)进行读写即可。设置超时值时,让脚本在stdout上输出信息。例如,当超时更改时,脚本可以输出:
TIMEOUT_SECONDS=2
在调用脚本的Python代码中,在被调用脚本的输出中查找该标记,并相应地调整测试超时
为此,您可能希望使用方法调用脚本,为stdout指定
PIPE
选项。然后,您需要在测试运行时读取subprocess属性,查找脚本中的TIMEOUT\u SECONDS=xxx
输出并调整超时时间。您的问题过于笼统,无法回答。向我们展示你的代码,解释你认为它可能有什么问题,我们会做出修复。我已经给出了一个一般性的答案。我认为有更好的方法来解决这个问题。但由于这不是一项时间紧迫的任务,我可以使用文件。我同意,这是一种可怕的方法,但作为一种快速而肮脏的解决方案,它将起作用。