python獲取環境變量問題
問題描述
我在/etc/profile中寫一個變量內容echo 能取到這個值,但python的os.getenv(),不能取到,這是為咋的?
演示內容:
[root@vultrvpn ~]# vim /etc/profile[root@vultrvpn ~]# source /etc/profile[root@vultrvpn ~]# echo $ABC_TESTISNEILSI[root@vultrvpn ~]# pythonPython 2.7.5 (default, Nov 6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2Type 'help', 'copyright', 'credits' or 'license' for more information.>>> import os>>> os.getenv('ABC_TEST')>>> print os.getenv('ABC_TEST')None
os.getenv('ABC_TEST')得到的值為空的。
問題解答
回答1:我不知道你的 ABC_TEST 是怎么賦值的,不使用export 的話,只是在當前的shell里面賦值哦!
$ aaa='test_aaa'$ export bbb='test_bbb'$ echo $aaatest_aaa$ echo $bbbtest_bbb$ pythonPython 2.7.10 (default, Jul 30 2016, 19:40:32)[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwinType 'help', 'copyright', 'credits' or 'license' for more information.>>> import os>>> os.getenv('aaa')>>> os.getenv('bbb')’test_bbb’>>> print os.getenv('aaa')None>>> print os.getenv('bbb')test_bbb回答2:
大概是因為PYTHON執行的環境和shell環境不是同一個東西。
相關文章:
1. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現存在即更新應該使用哪個標簽?2. mysql - 數據庫建字段,默認值空和empty string有什么區別 1103. mysql - 這種分級一對多,且分級不平衡的模型該怎么設計表?4. Navicat for mysql 中以json格式儲存的數據存在大量反斜杠,如何去除?5. mac OSX10.12.4 (16E195)下Mysql 5.7.18找不到配置文件my.cnf6. mysql mysql_real_escape_string() 轉義問題7. 新人求教MySQL關于判斷后拼接條件進行查詢的sql語句8. mysql - 千萬數據 分頁,當偏移量 原來越大時,怎么優化速度9. MySQL FOREIGN KEY 約束報錯10. mysql - 數據庫表中,兩個表互為外鍵參考如何解決
