Python의 다른 모듈에서 단일 전역 변수 가져 오기

닉 험 리치

흥미로운 응용 프로그램이 있고 다른 모듈의 전역 변수에 액세스하고 싶습니다.

현재 모듈 x가 있습니다.

from pkg.mod import *

네임 스페이스를 얻기 위해 foo.

내 pkg.mod는 다음과 같습니다.

import x
foo = 0
# do some stuff
foo = myClass()

그 모든 것이 훌륭하게 작동하지만, 대부분이 나쁘기 때문에 그렇게하고 싶지 않습니다.

다음을 시도하면

from pkg import mod

순환 종속성 문제가 발생합니다. ImportError: cannot import name mod나에게 의미가 있습니다.

내가하고 싶은 것은

from pkg.mod import foo

그러나 그것은 또한 나에게 가져 오기 이름 오류를 제공합니다. ImportError: cannot import name foo정확히 왜 그런지 잘 모르겠지만, 특별히 변수를 가져올 수 있다고 생각하지 않습니다.

어쨌든 foo올바른 관행에 따라 가져올 수 있습니까?

---편집하다---

공유 변수를 제거하고 그런 식으로 세 번째 모듈에 넣으려고 시도했습니다.

pkg.y

foo = 0

pkg.mod

from pkg.y import foo
foo = myClass()
x.dostuff()

엑스

from pkg.y import foo
def dostuff():
   print(foo)

이제 x는 foo가 여전히 0이라고 생각합니다. (mod가 x를 호출하므로 먼저 발생한다는 것을 보장 할 수 있습니다.)

데이브

진정한 전역 변수가 필요할 때 trueglobals.py라는 모듈을 만드는 것이 더 깔끔합니다. 비워 둘 수 있지만 적절한 문서화를 위해 ...

# -*- coding: utf-8 -*-
# Object references that are used extensively across many modules are 
# stored here.

# someObject1      - instantiated in main.py
# someObject2      - instantiated in someothermodule.py

개체를 인스턴스화하는 모듈에서 ...

import trueglobals
trueglobals.someObject1 = myClass(somevar)

객체가 필요한 모든 모듈에서 ...

import trueglobals
localVar = trueglobals.someObject1

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

jslint 다른 파일에서 전역 변수 가져 오기

분류에서Dev

모듈에서 전역 변수 가져 오기

분류에서Dev

Javascript ES6-다른 .js 파일에서 함수 또는 변수를 가져 오기 전에 모듈 실행이 완료 될 때까지 기다립니다.

분류에서Dev

다른 파일 Python에서 클래스 변수 가져 오기

분류에서Dev

Javascript는 파일의 모든 모듈을 전역 변수로 가져옵니다.

분류에서Dev

다른 모듈에서 변수 만 가져 오기

분류에서Dev

다른 패키지에서 Python 파일로 Cython 모듈 가져 오기

분류에서Dev

다른 메서드를 통해 메서드의 지역 변수 가져 오기

분류에서Dev

다른 모듈의 모든 변수를 사전 파이썬으로 가져 오기

분류에서Dev

Python 파일 모듈을 다른 모듈로 가져 오기

분류에서Dev

파일에서 상대 가져 오기를 사용하지 않고 다른 디렉토리의 Python 스크립트에서 파일 (다른 모듈을 가져 오는)을 어떻게 실행할 수 있습니까?

분류에서Dev

Verilog ams : 다른 모듈에서 매개 변수 값 가져 오기

분류에서Dev

Python에서 변수를 사용하여 모듈 가져 오기

분류에서Dev

한 파일에서 다른 MATLAB으로 변수 가져 오기

분류에서Dev

다른 파이썬 파일에서 변수 가져 오기

분류에서Dev

(Python) 다른 모듈에서 사용하기 위해 한 모듈의 __init__에서 인수를 가져 오시겠습니까?

분류에서Dev

다른 변수 Typescript의 속성에서 유형 가져 오기

분류에서Dev

다른 클래스의 변수에서 값 가져 오기

분류에서Dev

다른 곳의 filechooser에서 변수 참조 가져 오기

분류에서Dev

PHP에서 다른 변수의 배열 가져 오기

분류에서Dev

다른 파일에서 가져 오기를 모의하지만 여전히 모의 값을 반환합니다.

분류에서Dev

다른 모듈의 전역 변수 및 전역 문

분류에서Dev

Python-GUI (TKinter), 전체 함수를 실행하지 않고 다른 함수에서 변수 가져 오기

분류에서Dev

서로 다른 모듈 간의 전역 변수

분류에서Dev

다른 Job Jenkins에 전달 된 매개 변수 가져 오기

분류에서Dev

모듈을 가져 오기 전에 모듈에서 함수를 호출하고 있습니다.

분류에서Dev

바이너리 Powershell 모듈-Powershell 호스트에서 전역 변수 값 가져 오기

분류에서Dev

다른 모듈에서 변수를 가져 오면 AttributeError가 발생합니다.

분류에서Dev

Python : 이미 가져온 모듈에서 함수 가져 오기

Related 관련 기사

  1. 1

    jslint 다른 파일에서 전역 변수 가져 오기

  2. 2

    모듈에서 전역 변수 가져 오기

  3. 3

    Javascript ES6-다른 .js 파일에서 함수 또는 변수를 가져 오기 전에 모듈 실행이 완료 될 때까지 기다립니다.

  4. 4

    다른 파일 Python에서 클래스 변수 가져 오기

  5. 5

    Javascript는 파일의 모든 모듈을 전역 변수로 가져옵니다.

  6. 6

    다른 모듈에서 변수 만 가져 오기

  7. 7

    다른 패키지에서 Python 파일로 Cython 모듈 가져 오기

  8. 8

    다른 메서드를 통해 메서드의 지역 변수 가져 오기

  9. 9

    다른 모듈의 모든 변수를 사전 파이썬으로 가져 오기

  10. 10

    Python 파일 모듈을 다른 모듈로 가져 오기

  11. 11

    파일에서 상대 가져 오기를 사용하지 않고 다른 디렉토리의 Python 스크립트에서 파일 (다른 모듈을 가져 오는)을 어떻게 실행할 수 있습니까?

  12. 12

    Verilog ams : 다른 모듈에서 매개 변수 값 가져 오기

  13. 13

    Python에서 변수를 사용하여 모듈 가져 오기

  14. 14

    한 파일에서 다른 MATLAB으로 변수 가져 오기

  15. 15

    다른 파이썬 파일에서 변수 가져 오기

  16. 16

    (Python) 다른 모듈에서 사용하기 위해 한 모듈의 __init__에서 인수를 가져 오시겠습니까?

  17. 17

    다른 변수 Typescript의 속성에서 유형 가져 오기

  18. 18

    다른 클래스의 변수에서 값 가져 오기

  19. 19

    다른 곳의 filechooser에서 변수 참조 가져 오기

  20. 20

    PHP에서 다른 변수의 배열 가져 오기

  21. 21

    다른 파일에서 가져 오기를 모의하지만 여전히 모의 값을 반환합니다.

  22. 22

    다른 모듈의 전역 변수 및 전역 문

  23. 23

    Python-GUI (TKinter), 전체 함수를 실행하지 않고 다른 함수에서 변수 가져 오기

  24. 24

    서로 다른 모듈 간의 전역 변수

  25. 25

    다른 Job Jenkins에 전달 된 매개 변수 가져 오기

  26. 26

    모듈을 가져 오기 전에 모듈에서 함수를 호출하고 있습니다.

  27. 27

    바이너리 Powershell 모듈-Powershell 호스트에서 전역 변수 값 가져 오기

  28. 28

    다른 모듈에서 변수를 가져 오면 AttributeError가 발생합니다.

  29. 29

    Python : 이미 가져온 모듈에서 함수 가져 오기

뜨겁다태그

보관