我即將開始使用python的個人項目,我將在Linux(Fedora)和Windows(Vista)上使用它,儘管我可能會在Mac上使用它,它。我找到了一個可以在所有3上工作的GUI的API。我所要求的原因是因爲我一直聽說如果在開始之前知道它們,很容易避免的小差異。有沒有人有這方面的提示或建議?Python和不同的操作系統
4
A
回答
4
一般:
- 小心路徑。儘可能使用os.path。
- 不要以爲HOME指向用戶的家庭/配置文件目錄。
- 避免使用像unix域套接字,fifos和其他POSIX特定的東西。
更具體的東西:
- 如果你使用wxPython的,請注意,有可能是在像這產生線程某些事件東西差異不要以爲事件的產生。特定的線程。如果您正在調用觸發GUI事件的方法,則不要認爲事件處理程序在您的方法返回時已完成。 (當然,反之亦然)。
- GUI將會如何顯示。佈局並不總是以完全相同的方式實施。
1
3
有些事情,我也注意到自己的跨平臺開發的Python:
- OSX沒有一個托盤,所以應用程序通知通常發生就在被告席上。因此,如果您正在構建後臺通知服務,則可能需要少量特定於平臺的代碼。
- os.startfile()顯然只適用於Windows。無論是Leopard上的Python 2.5.1還是不支持它。
- os.normpath()也是你可能想要考慮的東西,只是爲了讓你的路徑和卷使用正確的斜槓記法和卷名。
- 圖標在Windows和OSX中以基本不同的方式處理,請確保您爲所有尺寸(16x16,24x24,32x32,48x48,64x64,128x128和256x256)都提供了適當尺寸的圖標,並且請務必閱讀用wx小部件設置圖標。
0
一些文件名問題:This.File和this.file是Linux上的不同文件,但指向Windows上的同一文件。如果您管理某些文件存儲庫並從兩個平臺訪問它,則會出現麻煩。不太常見的相關問題是像NUL或LPT這樣的名稱是Windows上的文件。
二進制分發代碼(如果有的話)可能會在Win上使用py2exe,在Mac上使用py2app並且不會在Linux上存在。
相關問題
- 1. Python CPU和操作系統
- 2. Adobe AIR和不同的操作系統文件系統
- 3. 部署不同的操作系統
- 4. VirtualEnv在不同的操作系統
- 5. Python操作系統PostreSQL和報價
- 6. Python操作系統命令
- 7. Python操作系統模塊
- 8. 同步(操作系統)
- 9. 不同操作系統上的Python程序
- 10. 如何使python模塊兼容不同的操作系統?
- 11. 移動操作系統與桌面操作系統有什麼不同
- 12. jQuery - 檢測操作系統和操作系統版本
- 13. 預定義爲iPhone操作系統和Mac操作系統
- 14. 操作系統和操作系統如何更新自己?
- 15. Python virtualenv日期不同於操作系統
- 16. 在不同的操作系統中,「/」和「\」的故事
- 17. 多核和操作系統
- 18. Android操作系統和PostgreSQL
- 19. 不同的結果在不同的操作系統
- 20. 爲不同的操作系統指定不同的字體
- 21. 同步Eclipse工作區,不同的操作系統,如何?
- 22. Qt Jambi應用程序和不同的操作系統
- 23. 針對不同手錶和操作系統開發的Android Wear
- 24. 檢測不同的操作系統和平臺
- 25. PyQT5在操作系統和Linux上的不同視圖
- 26. 對32位和64位操作系統的不同計算
- 27. 操作系統
- 28. 網頁在不同的操作系統上看起來不同?
- 29. tlibimp.exe輸出在不同的操作系統上有所不同
- 30. 不同的機器和操作系統的應用程序行爲不同
我想補充一點,你不應該假設mac os x用戶會想要使用GTK,並且在mac os x和windows與wxWidgets之間有**差異。 – Arafangion 2011-07-07 05:17:48