sourcecode

Python에서 환경 변수 읽기 및 쓰기?

copyscript 2023. 6. 23. 22:21
반응형

Python에서 환경 변수 읽기 및 쓰기?

많은 파이썬 함수와 셸 스크립트를 호출하는 나의 파이썬 스크립트.환경변수 세트를 보기 위해 Python(메인 호출 기능)과 셸 스크립트를 포함한 모든 딸 프로세스에서 환경변수를 설정하고 싶습니다.

다음과 같은 환경 변수를 설정해야 합니다.

DEBUSSY 1
FSDB 1

1문자열이 아닌 숫자입니다.또한 환경 변수에 저장된 값을 읽으려면 어떻게 해야 합니까?(좋아요DEBUSSY/FSDB다른 파이썬 하위 스크립트에서.)

사용해 보십시오.os모듈.

import os

os.environ['DEBUSSY'] = '1'
os.environ['FSDB'] = '1'

# Open child processes via os.system(), popen() or fork() and execv()

someVariable = int(os.environ['DEBUSSY'])

다음에서 Python 문서 참조os.environ또한 자식 프로세스의 산란에 대해서는 Python의 하위 프로세스 문서를 참조하십시오.

우선 첫째로 :) 책을 읽는 것은 문제 해결에 대한 훌륭한 접근법입니다; 그것은 문제 해결을 위한 반창고 고정과 장기적인 투자 사이의 차이입니다.배울 기회를 절대 놓치지 마세요. :D

해석을 선택할 수 있습니다.1숫자로, 하지만 환경 변수는 신경 쓰지 않습니다.그들은 문자열을 전달할 뿐입니다.

   The argument envp is an array of character pointers to null-
   terminated strings. These strings shall constitute the
   environment for the new process image. The envp array is
   terminated by a null pointer.

(발신인environ(3posix).)

사전과 같은 개체를 사용하여 python의 환경 변수에 액세스할 수 있습니다.

>>> import os
>>> os.environ["HOME"]
'/home/sarnold'
>>> os.environ["PATH"]
'/home/sarnold/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
>>> os.environ["PATH"] = os.environ["PATH"] + ":/silly/"
>>> os.environ["PATH"]
'/home/sarnold/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/silly/'

글로벌 변수를 새 스크립트로 전달하려는 경우 글로벌 변수를 보유하기 위한 python 파일(예: globals.py )을 생성할 수 있습니다.하위 스크립트의 맨 위에 있는 이 파일을 가져오면 모든 변수에 액세스할 수 있어야 합니다.

만약 당신이 이 변수들에 글을 쓰고 있다면, 그것은 다른 이야기입니다.이것은 동시성과 변수의 잠금을 포함합니다. 여러분이 원하지 않는 한 저는 그것에 관여하지 않을 것입니다.

사용하다os.environ[str(DEBUSSY)]읽기와 쓰기 모두를 위한 (http://docs.python.org/library/os.html#os.environ) .

읽기는 물론 문자열에서 숫자를 직접 구문 분석해야 합니다.

언급URL : https://stackoverflow.com/questions/5971635/reading-and-writing-environment-variables-in-python

반응형