다음 코드에서 ENV 변수 설정 시도
import os
dicta = {}
def setv(evar, evalue):
os.environ[evar] = evalue
dicta.setdefault('UENV', {}).update({evar: evalue})
# Set environment variables
setv('API_USER', 'username')
setv('API_PASSWORD', 'secret')
setv('NUMBER', 1)
NUMBER 변수가 숫자 값 1로 설정된 마지막 명령문에서 다음 오류가 발생합니다.
Traceback (most recent call last):
File "./pyenv.py", line 19, in <module>
setv('NUMBER', 1)
File "./pyenv.py", line 13, in setv
os.environ[evar] = evalue
File "/home/python/3.6.3/1/el-6-x86_64/lib/python3.6/os.py", line 674, in __setitem__
value = self.encodevalue(value)
File "/home/python/3.6.3/1/el-6-x86_64/lib/python3.6/os.py", line 744, in encode
raise TypeError("str expected, not %s" % type(value).__name__)
TypeError: str expected, not int
변수 값을 str로 변환하고 값을 int로 유지하고 싶지 않습니다. NUMBER 값을 숫자 1로 유지하고이 오류 메시지가 표시되지 않는 것에 대한 생각
환경 변수는 문자열 값입니다. 환경에서 가져온 후 다시 정수로 형변환하는 것이 좋습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다