如何从基本的Python脚本中生成新的Shell来运行Python脚本? - python

我已经成功运行了几个Python脚本,并使用subprocess模块​​从基本脚本中调用了它们:

subprocess.popen([sys.executable, 'script.py'], shell=True)

但是,每个脚本都执行一些模拟(来自C++应用程序的.exe文件),这些模拟会生成一些输出到外壳程序。所有这些输出都从我启动这些脚本的地方写入基本shell。我想为每个脚本生成一个新的shell。我尝试在调用subprocess.call时使用shell=True属性生成新的shell(也尝试过popen),但是它不起作用。

如何为每个由subprocess.call生成的进程获取新的shell?

我正在阅读Spencer建议的有关stdin和stdout的文档,发现一个标志可以解决问题:subprocess.CREATE_NEW_CONSOLE。也许重定向管道也可以完成这项工作,但这似乎是最简单的解决方案(至少对于此特定问题而言)。我刚刚对其进行了测试并使其完美运行:

subprocess.popen([sys.executable, 'script.py'], creationflags = subprocess.CREATE_NEW_CONSOLE)

参考方案

Popen已经生成了一个子进程来处理事情。您只需要重定向输出管道。查看subprocess文档,特别是关于popen stdin,stdout和stderr重定向的部分。

如果您不重定向这些管道,它将从父管道继承它们。只是要小心死锁您的进程。

您需要每个子进程都有其他窗口。这也是处理。查看子流程的startupinfo部分。它解释了在Windows上设置哪些选项以为每个子流程生成新的终端。请注意,它需要使用shell = True选项。

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

在返回'Response'(Python)中传递多个参数 - python

我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…

Python:图像处理可产生皱纹纸效果 - python

也许很难描述我的问题。我正在寻找Python中的算法,以在带有某些文本的白色图像上创建皱纹纸效果。我的第一个尝试是在带有文字的图像上添加一些真实的皱纹纸图像(具有透明度)。看起来不错,但副作用是文本没有真正起皱。所以我正在寻找更好的解决方案,有什么想法吗?谢谢 参考方案 除了使用透明性之外,假设您有两张相同尺寸的图像,一张在皱纹纸上明亮,一张在白色背景上有深…

Python exchangelib在子文件夹中读取邮件 - python

我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…

Python uuid4,如何限制唯一字符的长度 - python

在Python中,我正在使用uuid4()方法创建唯一的字符集。但是我找不到将其限制为10或8个字符的方法。有什么办法吗?uuid4()ffc69c1b-9d87-4c19-8dac-c09ca857e3fc谢谢。 参考方案 尝试:x = uuid4() str(x)[:8] 输出:"ffc69c1b" Is there a way to…