如果我只使用python標準庫編寫python腳本,只要安裝python 2.6,使用Python 2.6就可以在所有操作系統上運行?不同操作系統上的Python程序
回答
取決於。 Python標準庫有幾個部分僅在某些平臺上可用。這些部分在Python文檔中註明。
您還需要小心如何處理文件路徑等事情 - 使用os.path.join()
等以確保路徑格式正確。
是的,除非你使用的是依賴os的模塊。
編輯:我的回答似乎短 並沒有太多的點基於 評論
我不是解決一般的便攜式編程。
這將意味着照顧二進制數據的打包和操作,c擴展問題,windows/unix中的路徑,windows文本中的「\ r \ n」等等。
但是關於python模塊的可移植性,沒有任何問題。
它們是便攜式的。
但是,有些模塊只能在特定平臺上使用,如果您使用它們,那麼可移植性將會降低。
-1:這不就是說,除了那些不會的東西外,一切都會奏效嗎? – 2010-10-07 06:41:21
@Lasse V. Karlsen:不是。我可能會做一個簡短的回覆。但這意味着與上面Amber提供的答案完全相同。如果你在腳本中使用的話,有一些操作系統依賴模塊,它不會在其他操作系統上移植。這些操作系統特定的可用模塊都有詳細記錄 – pyfunc 2010-10-07 06:55:36
在我的答案中嘗試「幻數26」示例 - 它僅使用內置函數。 – 2010-10-07 07:04:22
閱讀二進制文件時需要小心。始終使用'rb','wb'等文件打開模式。你可以在Unix/Linux /等上使用'r'等,但它對Windows很重要。不直觀的是,CSV文件是二進制文件。
指導鍛鍊:鍛鍊身體爲什麼這個代碼在Windows上產生26來代替,這將產生在非Windows中的128:
>>> s = ''.join(map(chr,range(128)))
>>> len(s)
128
>>> f = open('junk.txt', 'w')
>>> f.write(s)
>>> f.close()
>>> len(open('junk.txt').read())
26
避免硬編碼文件路徑。
不要以爲你可以在控制檯上打印unicode(或utf8編碼的unicode),並使其可讀或完全呈現。
某些Python模塊不會自動安裝在某些Linux發行版中......您需要單獨的「dev」軟件包。
不完全是操作系統問題,但某些操作系統在bigendian機器上運行,所以如果您正在編寫/讀取二進制格式的任何工作,則需要考慮排序。
提示(練習):嘗試手動遍歷輸入,並查看ASCII表。 – 2010-10-08 03:54:15
- 1. Python和不同的操作系統
- 2. 不同操作系統上的JavaFx應用程序字體
- 3. 單程序操作系統
- 4. Qt Jambi應用程序和不同的操作系統
- 5. 在不同的操作系統中測試程序
- 6. 網頁在不同的操作系統上看起來不同?
- 7. 基於不同操作系統上的.glade文件的GTK + 3應用程序
- 8. VirtualEnv在不同的操作系統
- 9. WPF - 在不同操作系統上的相同風格的contexmenu
- 10. 不同的機器和操作系統的應用程序行爲不同
- 11. 從x64位操作系統上的「任何CPU」構建應用程序反映x86程序集操作系統
- 12. Python CPU和操作系統
- 13. Python操作系統模塊
- 14. Adobe AIR和不同的操作系統文件系統
- 15. 實時操作系統調度程序
- 16. 通過操作系統執行程序
- 17. 操作系統加載程序
- 18. Android操作系統和應用程序
- 19. WPF應用程序和操作系統
- 20. 移動操作系統與桌面操作系統有什麼不同
- 21. 在不同的操作系統上的樹枝編譯異常
- 22. 相同的源代碼,但不同操作系統上的結果不同
- 23. 如何爲不同的操作系統製作移動應用程序
- 24. Python virtualenv日期不同於操作系統
- 25. 在不同版本的操作系統上測試iPhone軟件
- 26. 在不同操作系統上的R幫助文件
- 27. PyQT5在操作系統和Linux上的不同視圖
- 28. JVM在不同操作系統上的性能差異
- 29. 如何在python程序中處理操作系統信號?
- 30. 同步Eclipse工作區,不同的操作系統,如何?
Upvoted提及路徑。 – kindall 2010-10-07 04:21:04