>

두 개의 .py 파일이 있습니다. 하나는 기능 만 있고 다른 하나는 기능을 실행하는 코드입니다.

다음을 사용하여 기능을 실행할 때

from Code_function import some_function
some_function()

함수를 실행하지만 변수 탐색기에 변수를 저장하지 않습니다 (스파이더를 사용하고 있습니다)

Code_function.py의 함수 예는

def some_function():
   global csv1
   csv1 = pd.read_csv('csv1.csv')

변수 탐색기에서 csv1을 사용하려면 어떻게해야합니까?


  • 답변 # 1

    함수에서 데이터 프레임을 반환 한 다음 호출하여 기본 파일에 할당해야합니다. 이것은 나를 위해 작동합니다

    def some_function():
       global csv1
       csv1 = pd.read_csv('csv1.csv')
       return csv1
    
    

    메인 :

    from Code_function import some_function
    df = some_function()
    
    

  • 답변 # 2

    먼저Python에서는 함수가 여러 값을 반환 할 수 있기 때문에 출력 변수가 필요하지 않습니다(엄격히 말하면 튜플을 반환하는 것으로 구현 됨) :

    def fn():
        return 1,2
    a,b = fn()
    
    
    <시간>

    이제 질문에 대해 :

    이것은 7.12에 명시되어 있지 않지만. 글로벌 성명-Python 3.7.3 문서, 테스트 결과 global  함수의어휘 적범위에서 이름을 설정합니다 (즉, 함수 코드의 위치에 상대적).

    그래서 csv1  변수는 Code_function 에서 끝납니다  구성 단위. 프로그램에서 해당 모듈 객체에 바인딩 된 이름이 없으면 sys.modules['<full name>'] 로 액세스해야합니다. :

    >>> import Code_function
    >>> Code_function.csv1
    <...>
    >>> sys.modules['Code_function'].csv1
    <...>
    
    

관련 자료

  • 이전 c# - 생성자 내에서 다른 클래스를 인스턴스화 할 수 있습니까?
  • 다음 python - "깨끗한"분수를 얻기위한 as_integer_ratio ()에 대한 대안이 있습니까?