복붙노트

[PYTHON] 다른 파일의 변수를 사용하는 Python

PYTHON

다른 파일의 변수를 사용하는 Python

나는 새롭고 간단한 무작위 문장 생성기를 만들려고 노력한다. 다른 .py 문서에 저장된 목록에서 무작위 항목을 추출하려면 어떻게합니까? 나는 사용하고있다.

random.choice(verb_list) 

목록에서 끌어 오기. verb_list가 다른 문서에 있다고 python에게 어떻게 알리는 지요?

또한 솔루션의 기본 원리가 무엇인지 알면 도움이됩니다. 나는 그것이 '파일 참조' '파일 브리징'등과 같은 것이라고 상상한다.

해결법

  1. ==============================

    1.파일에서 변수를 가져올 수 있습니다.

    파일에서 변수를 가져올 수 있습니다.

    vardata.py

    verb_list = [x, y, z]
    other_list = [1, ,2, 3]
    something_else = False
    

    mainfile.py

    from vardata import verb_list, other_list
    import random
    
    print random.choice(verb_list) 
    

    당신은 또한 할 수 있습니다 :

    from vardata import *
    

    해당 파일의 모든 항목을 가져옵니다. 그래도 조심해. 이름 충돌을 원하지 않습니다.

    또는 파일을 가져 와서 네임 스페이스를 통해 변수에 액세스 할 수 있습니다.

    import vardata
    print vardata.something_else
    
  2. ==============================

    2.그것은 수입이라고합니다.

    그것은 수입이라고합니다.

    이것이 data.py 인 경우 :

    verb_list = [
        'run',
        'walk',
        'skip',
    ]
    

    이것은 foo.py입니다.

    #!/usr/bin/env python2.7
    
    import data
    print data.verb_list
    

    그런 다음 foo.py를 실행하면 data.py의 verb_list에 액세스 할 수 있습니다.

    파이썬 튜토리얼의 모듈 섹션을 통해 작업하고 싶을 수도있다.

    verb_list가 다른 작업을 수행하려는 스크립트에 저장되어있는 경우, 변수를 가져 오는 것이 모두 필요한 경우 스크립트가 실행되는 문제가 발생합니다. 이 경우 수행 할 수있는 표준 작업은 main ()이라는 함수에 모든 스크립트 기능을 유지 한 다음 마법 명령을 사용하는 것입니다.

    verb_list = [
        'run',
        'walk',
        'skip',
    ]
    
    def main():
        print 'The verbs are', verb_list
    
    if __name__ == '__main__':
        main()
    

    이제 main ()의 코드는 가져 오기 데이터 만 가져 오면 실행되지 않습니다. 관심이 있으시면 Python 제작자 Guido van Rossum이 더 정교한 Python main () 함수를 작성하는 기사를 작성했습니다.

  3. from https://stackoverflow.com/questions/14573021/python-using-variables-from-another-file by cc-by-sa and MIT license