2012-06-25 37 views
14

爲什麼python .pyc文件包含其源代碼的絕對路徑,而不是相對路徑或其他東西?爲什麼python .pyc文件包含其源代碼的絕對路徑?

從Python 2.7版Ubuntu的一個典型__init__.pyc

\ufffd\ufffd\[email protected](i\ufffd\ufffd\ufffd\ufffd(t*N(tdbapi2(((s&/usr/lib/python2.7/sqlite3/__init__.py<module>s

+1

我剛剛在Linux上用Python 2.7進行了測試,並且.pyc文件不包含絕對路徑。 – interjay

+2

它適合我。 – joeforker

+2

然後提供您遵循的確切步驟來創建pyc並查看它包含絕對路徑,以任何人都可以重現的方式。我做的是創建一個空的'a.py'文件,從交互提示中導入它,然後運行'strings a.pyc'。 – interjay

回答

9
+2

請注意,Éric的鏈接導致了「-d」選項,該選項可用於將相對路徑導入.pyc文件,而不是通常的絕對路徑。 –

+0

如果這些文件移動到另一臺機器並且路徑不匹配會發生什麼? –

+0

在某些回溯中報告的信息是錯誤的。 –

相關問題