reading environment variable python


Reading environment variables in python

reference:
http://itsjustsosimple.blogspot.jp/2013/02/reading-environment-variables-in-python.html

The  os  module contains an interface to operating system-specific functions. this module can be used to access environment variables. 
We can go with os.environ to get the value of environment variable.

import os
print os.environ['HOME']

but there is a catch, this method will raise  KeyError variable does not exist 

>>> print os.environ['HOME_NOT_EXIST']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__
    raise KeyError(key)
KeyError: 'HOME_NOT_EXIST'

So it is better to go with os.getenv. this return None if key/environment variable does not exist. and if we require we can return default values too.

print os.getenv('KEY')    #returns None if KEY doesn't exist
print os.getenv('KEY', 0) #will return 0 if KEY doesn't exist 
### 回答1: "eof when reading a line" 是 Python 中的一个错误提示,意思是在读取文件时已经到达了文件的末尾,但程序还在尝试读取下一行数据。这通常是因为文件格式不正确或文件已经被修改而导致的。解决方法是检查文件格式是否正确,或者在读取文件前先判断文件是否存在或是否为空。 ### 回答2: “EOF when reading a line”是Python程序中常见的一个错误。当遇到这个错误时,Python会打印出一个类似“unexpected EOF while parsing”或“EOFError: EOF when reading a line”的错误消息。 该错误通常表示在读取输入时发生了问题,原因是Python解释器尝试从输入文件(stream)或标准输入(stdin)读取数据时,文件已经被读取到结尾。也就是说,如果在读取文件时,文件已经读取到了结尾,但是代码却继续尝试读取下一行,则会抛出“EOF when reading a line”错误。 这个错误可能由以下几个原因引起: 1. 文件格式错误:在读取文件时,文件可能存在格式错误,或文件结尾被意外删除了一部分导致无法读取文件的结束标志,此时我们需要对文件进行修改或恢复。 2. 文件损坏:读取文件时,文件可能被破坏了或者是在传输过程中发生了损坏,此时我们需要获取原文件并进行修复或重新获取文件。 3. 程序错误:程序的某一部分可能存在语法或系统错误,导致代码无法执行到预期的终止条件。这时我们需要检查代码中是否存在错误。 4. 编码问题:某些情况下,文件可能使用的编码与Python解释器的默认编码不同,导致解释器无法识别文件结尾标志。此时我们需要设置文件编码,或修改Python解释器的默认编码。 解决这个问题的方法就是说要及时检查代码,并仔细排除可能的故障,也要注意检查文件的编码格式,确保与Python解析器的编码类型一致,确保文件格式正确。 ### 回答3: 当我们在Python中使用readline()方法或者执行文件读取操作时,有时会遇到"EOF(End of file)"的报错提示。这时会出现"EOF when reading a line"的错误提示,意味着Python在读取文本文件时到达了文件的末尾,但是程序却仍然在试图读取下一行数据,从而导致了一个致命的错误。 通常情况下,这种错误最常见于文件读取的操作,包括read()、readline()、readlines()等方法。该错误通常意味着程序未能成功读取指定的文件,并需要对代码进行调试来找出导致错误的原因。 解决这个问题的方法可以有以下几种: 1.检查文件是否存在:首先,要确保读取的文件存在,否则程序会出现上述错误。 2.检查程序是否正确关闭文件:当我们完成一个文件的读取操作时,必须通过close()方法显式地关闭该文件。如果忘记关闭文件,文件流仍然存在,程序将无法读取完整的文件数据,会导致"eof when reading a line"错误。 3.使用with语句读取文件:with语句是一个使用上下文管理器的Python内置语句,它可以在使用文件完成操作后自动关闭文件流,从而避免上述问题的产生。 4.检查文件编码是否正确:在读取文件时,也应该确保文件的编码格式正确。如果文件编码格式不正确,可能会导致程序读取时出现错误。 总之,在遇到"eof when reading a line"错误时,我们需要深入排查问题的原因,改正代码中的错误,并逐步解决该问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值