如果我只使用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. 在不同的操作系統中測試程序
- 5. Qt Jambi應用程序和不同的操作系統
- 6. 網頁在不同的操作系統上看起來不同?
- 7. tlibimp.exe輸出在不同的操作系統上有所不同
- 8. 在64位操作系統上編寫程序時,程序是否會運行在32位操作系統上?
- 9. 基於不同操作系統上的.glade文件的GTK + 3應用程序
- 10. 在不同操作系統上使用編程語言
- 11. 部署不同的操作系統
- 12. VirtualEnv在不同的操作系統
- 13. WPF - 在不同操作系統上的相同風格的contexmenu
- 14. 從x64位操作系統上的「任何CPU」構建應用程序反映x86程序集操作系統
- 15. 不同的機器和操作系統的應用程序行爲不同
- 16. Python CPU和操作系統
- 17. Python操作系統命令
- 18. Python操作系統模塊
- 19. 在MSWin32操作系統上的條款:: ReadKey :: GetTermialSize操作系統
- 20. 同步(操作系統)
- 21. Adobe AIR和不同的操作系統文件系統
- 22. 如何使python模塊兼容不同的操作系統?
- 23. WPF應用程序和操作系統
- 24. 多操作系統程序兼容性
- 25. Android操作系統和應用程序
- 26. 實時操作系統調度程序
- 27. 操作系統加載程序
- 28. 通過操作系統執行程序
- 29. 移動操作系統與桌面操作系統有什麼不同
- 30. 在不同的操作系統上的樹枝編譯異常
Upvoted提及路徑。 – kindall 2010-10-07 04:21:04