如何将主文件名从主文件移动到一个模块和另一个模块

问题描述

我想要一个包包含 3 个主要模块,'main.py'、'config_controls.py' 和 'inputs.py'。我希望主文件非常轻巧,并且主要是调用其他两个来完成所有工作。 config_controls 是设置我正在使用的硬件,输入是获取我可以通过外观对象和用户输入访问的详细信息。 我希望能够获取文件名称并将其传递给 config_controls ,然后它将导入输入(这需要主脚本文件作为其参数之一保存在字典中作为测试记录)。但它是一个无望的混乱。我不知道该怎么做。我想以这种方式(或关闭)将控件和输入分离到不同的模块中,以便我可以维护它们并对其进行扩展,但我不知道如何移动属性

ma​​in.py 的内容

#print('\n'*11)
import os
main_script_name = os.path.basename(__file__)
import config_controls as controls

# when importing inputs first
import inputs
print(user_inputs)

config_controls.py 的内容

import inputs as inputs

#instantiate the inputs class
insty2 = inputs
user_inputs = dir(insty2)
print(user_inputs)

user_inputs2 = insty2.Inputs()
print(dir(user_inputs2))

inputs.py 的内容

import re

class Inputs:
    def __init__(self,main_script_name):
        self.main_script_name = main_script_name

    def get_deets(self):
        my_dict = {}
        my_dict["main_filey"] = self.main_script_name
        return my_dict
      
if __name__ == "__main__":
    insty = Inputs('lalala')
    details = insty.get_deets()
    print(details)

预期结果 因为当我运行主文件时,它会导入 config_controls 并将主文件名称传递给它,然后将主文件名称传递给输入文件和主文件。 file 然后打印字典(其中存储了主文件名)。或者被展示如何正确地做到这一点。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...