请提出我做错了什么,我是编码的新手。
1。 first.py文件:
import logging
class Log:
def __init__(self,msg):
self.msg = msg
def debug(self,msg):
FORMAT = "%(asctime)-15s%(message)s"
logging.basicConfig(filemode = "w", filename="file.log", format = FORMAT, level=logging.DEBUG)
logging.debug(self.msg)
2。 second.py文件
import first
first.Log.debug("I am in debug mode")
当我运行second.py文件时,我得到的错误是 Logging.Log.debug("我处于调试模式")
TypeError: debug() missing 1 required positional argument: 'msg'**
答案 0 :(得分:0)
我不确定您要做什么,但第一个问题是您需要使用提供的Log
参数初始化msg
的实例。您在此处执行的操作first.Log.debug("I am in debug mode")
正在调用debug
Log
方法而不创建实例。
在debug
方法中,msg
参数是必需的,但它从未使用过。相反,该方法只会尝试获取self.msg
定义的__init__
。
此代码的一种工作方式:
1. first.py file
import logging
class Log:
def __init__(self,msg):
self.msg = msg
def debug(self):
FORMAT = "%(asctime)-15s%(message)s"
logging.basicConfig(filemode = "w", filename="file.log", format = FORMAT, level=logging.DEBUG)
logging.debug(self.msg)
2. second.py file
import first
# Note that Log is initialized with the msg you want, and only then we call debug()
first.Log("I am in debug mode").debug()