TypeError : debug () 1 개의 필수 위치 인수 누락 : 다른 클래스에서 메서드를 호출 할 때 'msg'

내가 잘못한 것을 제안하십시오. 나는 코딩이 처음입니다.

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 ( "I am in debug mode") 오류가 발생합니다.

TypeError: debug() missing 1 required positional argument: 'msg'** 
오디오 고 실바

나는 확실히 당신이 할하려고하지하고있어,하지만 첫 번째 문제는 당신의 인스턴스를 초기화해야한다는 것입니다 Logmsg인수가 제공했다. 여기서하는 일은 인스턴스를 만들지 않고 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()

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관