設置環境變量在UNIX,我做如何從命令行中讀取的蟒蛇
setenv HOME <path to home>
我把它作爲參數傳遞給我的python腳本
python hello.py HOME
,做
sys.argv[1] = os.environ["HOME"]
它仍然沒有讀取路徑。
我是新來的蟒蛇,是os.environ
正確的這種情況?
設置環境變量在UNIX,我做如何從命令行中讀取的蟒蛇
setenv HOME <path to home>
我把它作爲參數傳遞給我的python腳本
python hello.py HOME
,做
sys.argv[1] = os.environ["HOME"]
它仍然沒有讀取路徑。
我是新來的蟒蛇,是os.environ
正確的這種情況?
如果你的目標是讓主目錄作爲參數的路徑,你可以讓你的用戶能夠通過前殼評估參數發送調用腳本。
我有這樣一個簡單的腳本 -
import sys
print(sys.argv[1])
在Windows中我稱其爲 -
set HOME=D:\
python script.py %HOME%
輸出我得到的是 -
D:\
在Linux中 -
$ python hello.py $HOME
輸出 -
/home/random/
如果你想從環境變量得到它,你想通過環境變量作爲第一個參數腳本來使用,那麼你應該改變你的腳本一樣 -
sys.argv[1] = os.environ.get(sys.argv[1],sys.argv[1])
這
非常感謝!有效。 –
請記住接受問題的答案(全部),點擊答案左邊的勾號即可變綠,這對社區有幫助。 –
謝謝。我是新來的stackoverflow,不知道這一點。 –
看起來這取決於你的外殼。例如,在Linux下使用bash 4.3-7ubuntu1.5:
$ export XXX="abc"
$ python
>>> import os
>>> os.environ["XXX"]
'abc'
>>> os.environ["HOME"]
'/home/alan'
你爲什麼要設置sys.argv中[1]作爲家居環境變量?你的完整要求是什麼? –
我的腳本需要目錄路徑作爲參數。每個用戶的目錄路徑都不相同(取決於不同的PC)。每個用戶將環境變量HOME設置爲路徑。它就像所有用戶的常見環境變量一樣。 –
我是python新手,仍然在學習它。我使用python的argparse模塊將參數和腳本一起傳遞。我需要的唯一參數是指向目錄的路徑,這對於每個用戶(如user1:/ home/user/文件夾,user2:/ home/user8976/folder2/folder)是不同的。想法是每個用戶將設置路徑變量HOME和腳本將利用它。所以我通過的第一個參數是HOME。因此做sys.argv [1] = os.environ [「HOME」]。基本上sys.argv [1]應該是個人用戶的路徑。 –