1
當我將python-yql(雅虎查詢語言)模塊導入到我的Python項目中時,代表Python腳本被調用的本地目錄路徑的字符串(通常存儲在sys.path[0]
中)更改爲sys.path[1]
。 sys.path[0]
被看起來是python-yql模塊的位置的目錄取代。僅僅因爲正在使用python-yql模塊,是否有sys.path[0]
變爲sys.path[1]
的原因?爲什麼使用Python-YQL模塊將sys.path [0]更改爲sys.path [1]?
謝謝你的幫助!將註釋掉sys.path.insert(0,os.path.join(os.path.dirname(__ file__),'../'))使得如果另一臺機器正在運行該程序並且我引用了本地目錄作爲sys.path [0],它將無法正常工作,因爲不能假定其他機器也在運行修改過的__init__.py文件?你會推薦簡單地使用sys.path [1]而不是註釋掉行來保持兼容性嗎? – 2012-01-09 23:11:45
你可能想要求python-yql的開發者刪除這一行,因爲它不是必須的(我認爲),並且自從[文檔說]以來是相當令人驚訝的行爲(http://docs.python.org/library/ sys.html#sys.path),「path [0] ...是包含用於調用Python解釋器的腳本的目錄。」或者,你可以使用'os.path.split(os.path.realpath(__ file __))[0]'而不是'sys.path [0]'。 – unutbu 2012-01-09 23:18:45
這似乎是一個有效的觀點。 __file__在os.path.split(os.path.realpath(__ file __))中代表什麼?)[0]? – 2012-01-09 23:22:22