【问题标题】:How to get variable from another Python script (Python 3)如何从另一个 Python 脚本(Python 3)获取变量
【发布时间】:2016-09-02 16:38:16
【问题描述】:

我有 2 个 Python 3.5 脚本,boot.py 和 about.py。 boot.py 位于 /os,而 about.py 位于 /os/bin。 Boot.py 以 os.system(/path/about.py) 开头 about.py。问题是 about.py 需要 boot.py 中的变量,我不想重新重写它们。所以我需要以一种可以读取/使用 boot.py 中的变量的方式启动 about.py。如果不清楚,我将代码贴在下面。

boot.py:

#Boot.py
import os
import subprocess
import socket
import platform
import multiprocessing
import time
import datetime
from random import randint
#Create functions
def cls():
    os.system('cls' if os.name=='nt' else 'clear')
#Set the variables
prj_name = 'boot.py'
prj_build = 1.01
prj_developer = 'RED'
#Bunch of print() and input() commands below

关于.py:

#Somehow get the variables and functions defined in boot.py
print('This project is made by ' + prj_developer)
print('Build: ' + prj_build)
print('Launched by: ' + prj_name)

【问题讨论】:

    标签: python python-3.x variables import call


    【解决方案1】:

    只需导入其他文件。 通过这样做,将运行文件并定义变量。

    from boot import *
    print('This project is made by ' + prj_developer)
    print('Build: ' + prj_build)
    print('Launched by: ' + prj_name)
    

    我还建议将其他文件的所有代码放入 if 语句中导入时不应运行的所有代码(但在这种情况下不是必需的):

    if __name__ == "__main__":
        pass # only run if file is executed directly (not from importing)
    

    如果boot.py 文件是上面您要编写的目录(为每个父目录添加一个 .):

    from .. import boot.*
    

    如果boot.py 文件是您要写入的上述目录(确保在您要从中导入的任何子目录中放置一个名为__init__.py 的空文件):

    from DIRECTORY.boot import *
    

    【讨论】:

    猜你喜欢
    • 2015-09-14
    • 2021-12-20
    • 1970-01-01
    • 2019-10-22
    • 2014-07-01
    • 2020-01-17
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多