如何让一个python文件运行另一个?

时间:2011-11-02 01:29:20

标签: python

如何制作一个python文件来运行另一个?

例如,我有两个 .py文件。我想要运行一个文件,然后让它运行另一个 .py文件

8 个答案:

答案 0 :(得分:380)

有很多方法。我将按倒置优先顺序列出它们(,最好的第一个,最差的最后一个):

  1. 将其视为一个模块: import file。这很好,因为它安全,快速,可维护。代码会被重用,因为它应该被完成。大多数Python库使用多个扩展到大量文件的方法运行。强烈推荐。请注意,如果您的文件名为file.py,则您的import 会在最后包含.py扩展名。
  2. 臭名昭着(且不安全)exec命令: execfile('file.py')。不安全,hacky,通常是错误的答案。尽可能避免。
  3. 产生一个shell进程: os.system('python file.py')。绝望时使用。

答案 1 :(得分:50)

使用python 2.7.3和Ubuntu 12.10获取一个python文件来运行另一个:

  1. 将它放在main.py中:

    #!/usr/bin/python
    import yoursubfile
    
  2. 将此信息放入yoursubfile.py

    #!/usr/bin/python
    print("hello")
    
  3. 运行它:

    python main.py 
    
  4. 打印:

    hello
    
  5. 因此main.py运行yoursubfile.py

    有8种方法可以回答这个问题,这里有一个更典型的答案:How to import other Python files?

答案 2 :(得分:14)

  • 您可以使用以下代码运行.py文件:
import os 
os.system('python filename.py')

请注意:    将文件放在主python文件的同一目录中。

答案 3 :(得分:12)

我使用了subprocess.call,它与subprocess.Popen

几乎相同
from subprocess import call
call(["python", "your_file.py"])

答案 4 :(得分:3)

您将其中一个文件视为python模块,并将另一个文件导入它(就像导入标准python模块一样)。然后,后者可以引用导入模块中定义的对象(包括类和函数)。该模块还可以运行它需要的任何初始化代码。见http://docs.python.org/tutorial/modules.html

答案 5 :(得分:2)

您可以使用此脚本:

def run(runfile):
  with open(runfile,"r") as rnf:
    exec(rnf.read())

语法:

run("file.py")

答案 6 :(得分:2)

//for saving - 
var pos = this.gameObject.GetComponent<RectTransform> ().localPosition; 
data = new Data (); 
data.x = pos.x; 
data.y = pos.y; 
string json = JsonUtility.ToJson (data); 
reference.Child ("users").Child ("4444").SetRawJsonValueAsync (json); 

//for retrieving - 
FirebaseDatabase.DefaultInstance 
.GetReference ("users/4444") 
.GetValueAsync ().ContinueWith (task => { 
  if (task.IsFaulted) { 
    // Handle the error... 
  } else if (task.IsCompleted) { 
    DataSnapshot snapshot = task.Result; 
    if (snapshot == null) { 
    Debug.Log ("snapshot is null"); 
  } else { 
    json = snapshot.GetRawJsonValue ().ToString (); 
    data = JsonUtility.FromJson<Data> (json); 
  }

how-can-i-make-one-python-file-run-another-file

答案 7 :(得分:0)

可以从主脚本中将其命名为aa1.py,如下所示,

#!/usr/bin/python
import aa1
aa1

aa1.py可能是以下内容,

print'abc'