如何以跨平台的方式从另一个Python脚本运行Python脚本?

2024-10-01 13:37:15 发布

您现在位置:Python中文网/ 问答频道 /正文

问题是。。。在

我正在为Blender编写一个非常小的插件, 我有10个python脚本,它们通过命令行解析不同的文件格式,我有一个主python脚本,用适当的命令运行所有其他脚本。。。在

例如,“主.py“包括:

txt2型cfg.py文件-填充-输出文件…
最大允许浓度lxo.py公司-填充-输出文件。。。在

混合器已经包含Python,所以我可以运行“主.py“来自Blender,但我需要它同时用于PC和MAC,也不需要安装Python,因此我不能使用:

  • 执行文件('txt2cfg.py文件-填充-输出文件)
  • 在操作系统('ma2)lxo.py公司-填充-输出文件)
  • 甚至导入子流程

因为它们需要安装Python才能运行*.py文件。在

抱歉用语言

谢谢


Tags: 文件命令行py命令脚本插件mac公司
3条回答

for example, "Main.py" include:

txt2cfg.py -inFile -outFile... ma2lxo.py -inFile -outFile...

有两件事。在

  1. 每个脚本都需要一个main()函数和一个“main import switch”。请参见http://docs.python.org/tutorial/modules.html#executing-modules-as-scripts以获取有关此外观的提示。

  2. 导入并执行其他脚本。在

    import txt2cfg
    import ma2lxo
    txt2cfg.main( inFile, outFile )
    ma2lxo.main( inFile, outFile )
    

这是做事情最简单的方法。在

如果您确实需要在新进程中执行python脚本,并且不知道所需的解释器位于何处,请使用sys模块来帮助您。在

import sys
import subprocess

subprocess.Popen((sys.executable, "script.py"))

不过,导入模块(如果需要,可以动态导入),然后在另一个脚本中运行其main方法可能是一个更好的主意。在

两种选择:

  1. 使用py2exe将解释器与脚本捆绑在一起。在
  2. 导入模块并自动调用函数。在

相关问题 更多 >