本文目錄一覽:
- 1、Python 解決你的實際問題可以在哪些地方找資料?
- 2、如何解決python -v 報錯問題
- 3、python的內存問題該這麼解決?
- 4、如何使用Python問題,怎麼解決
- 5、用python解決問題
- 6、Python多線程問題,怎麼解決
Python 解決你的實際問題可以在哪些地方找資料?
Python 標準庫:
應該瀏覽一下這份文檔,它為標準庫中的類型、函數和模塊提供了完整(儘管很簡略)的參考資料。標準的 Python 發布版包括了 大量 的附加模塊。其中有針對讀取 Unix 郵箱、接收 HTTP 文檔、生成隨機數、解析命令行選項、寫 CGI 程序、壓縮數據以及很多其它任務的模塊。略讀一下庫參考會給你很多解決問題的思路。
安裝 Python 模塊 展示了如何安裝其他 Python 用戶編寫的附加模塊。
Python 語言參考: 詳細說明了 Python 語法和語義。
它讀起來很累,不過對於語言本身,有份完整的手冊很有用。
其它 Python 資源:
: Python 官方網站。它包含代碼、文檔和 Web 上與 Python 有關的頁面鏈接該網站鏡像於全世界的幾處其它問題,類似歐洲、日本和澳大利亞。
鏡像可能會比主站快,這取決於你的地理位置。
: 快速訪問 Python 的文檔。
: Python 包索引,以前昵稱為奶酪店,索引了可供下載的,用戶創建的 Python 模塊。如果你發布了代碼,可以註冊到這裡,這樣別人可以找到它。
: Python 食譜是大量的示例代碼、大型的集合,和有用的腳本。
值得關注的是這次資源已經結集成書,名為《Python 食譜》(O’Reilly Associates, ISBN 0-596-00797-3。)
: The Scientific Python 項目包括數組快速計算和處理模塊,和大量線性代數、傅里葉變換、非線性solvers、隨機數分布,統計分析以及類似的包。
與 Python 有關的問題,以及問題報告,可以發到新聞組 comp.lang.python ,或者發送到郵件組 python-list@python.org 。新聞組和郵件組是開放的,所以發送的消息可以自動的跟到另一個之後。每天有超過 120 個投遞(高峰時有數百),提問(以及回答)問題,為新功能提建議,發布新模塊。在發信之前,請查閱 常見問題 (亦稱 FAQ),或者在 Python 源碼發布包的 Misc/ 目錄中查閱。郵件組也可以在 訪問。FAQ回答了很多被反覆提到的問題,很可能已經解答了你的問題。
Next Previous
如何解決python -v 報錯問題
解決python -v報錯問題的方法:
在cmd命令行中輸入“python -v”報錯是因為沒有將python的安裝路徑添加到系統環境變量path中,將python的安裝路徑添加進去就可以了
示例如下:
輸入python -v結果:
更多Python知識,請關註:Python自學網!!
python的內存問題該這麼解決?
1.沒有開gc,或者gc設為debug狀態,導致交叉引用沒有被回收調
2.如果一個數據在邏輯上不應該存在,但是因為代碼上沒有做相關清除操作,導致他還存在,也是一種泄漏
舉個栗子,例如我要記錄最近50天的某個基金的日化收益率,定義一個全局的字典global_dict,運行了一個腳本進行計算,沒10分鐘算一次,但是我沒有進行clear操作,每次的計算只是單純的賦值dict[date] = rate,按理來說dict[“五十天前”]的收益率都是不需要的,就是一種泄漏。
3.這種情況出現在python3.4之前,因為3.4已經修復了,是這樣的,如果一個類定義了__del__,並且該類存在循環引用的情況,這時候gc就會把這個類放在gc.garbage當中,不會去做回收,可以說是跳出了分代回收的機制,但是3.4之後的版本就沒有這種情況,會把他回收調。
如何使用Python問題,怎麼解決
python的中文問題一直是困擾新手的頭疼問題,Python的發行版至今尚未包括任何中文支持模塊。當然,幾乎可以確定的是,在將來的版本中,python會徹底解決此問題,不用我們這麼麻煩了。 筆者使用的是2.5版本。Python的版本可以通過調用sys模塊的sys.version查看。在幾個月的學習中,主要遇到以下問題:
1. print打印中文的問題:
在編輯器中輸入一段測試代碼:
s=’測試’
print s
運行結果如下:
Non-ASCII character ‘\xb2’ in file c:\Documents and Settings\Administrator\桌面\2.py on line 1, but no encoding declared; sees/pep-0263.html for details: 2.py, line 1, pos 0
原因是如果文件里有非ASCII字符,需要指定編碼聲明。把2.py文件的編碼重新改為utf-8,並加上編碼聲明:
# -*- coding: utf-8 -*-
s=’測試’
print s
運行後可以正確打印中文。
2.中文路徑的問題。
在D盤下保存一個名字為‘中文.txt‘的文件。運行如下測試代碼:
# -*- coding: utf-8 -*-
f=open(‘D:\\中文.txt’, ‘r’)
print f.read()
運行結果如下:
IOError: [Errno 2] No such file or directory: ‘D:\\\xe4\xb8\xad\xe6\x96\x87.txt’
字符串有很多的編碼,不同的系統和平台有各自的編碼 ,為了實現系統或平台之間的信息交互可能需要編碼轉換。這裡只需要先使用UNICODE編碼一下,這樣再讀取中文路徑就不會有問題了:
複製代碼
# -*- coding: utf-8 -*-
path=’D:\\中文.txt’
spath=unicode(path , “utf8”)
f=open(spath,’r’)
print f.read()
複製代碼
然後就可以正確顯示文件內容
總結:
所有的中文顯示問題都可以歸結為編碼問題,遇到其他類似的問題,那隻能仔細看文檔,靠你的經驗,靠你多做測試。而且根據python所報出來的錯誤一般也可以判斷出來。那麼當發現需要編碼轉換時,剩下的就是如何正確進行碼制轉換。
為了正確處理多語言文本,Python在2.0版後引入了Unicode字符串。從那時起,Python語言中的字符串就分為兩種:一種是2.0版之前就已經使用很久的傳統Python字符串,一種則是新的Unicode字符串。在Python語言中,一般的解決辦法是使用unicode()內建函數對一個傳統Python字符串進行“解碼”,得到一個Unicode字符串,然後又通過Unicode字符串的encode()方法對這個Unicode字符串進行“編碼”,將其“編碼”成為傳統Python字符串。
用python解決問題
a=b=s=”
for i in range(97,123):
a+=chr(i)
print(a)
b=input(‘輸入一個小寫字母:’)
if ord(b) in range(97,123):
print(‘角標為:’+ str(ord(b)-97))
for i in range(ord(b),123):
s+=chr(i)
print(‘輪換後的字符串為:’+s)
else:
print(‘輸入錯誤!’)
Python多線程問題,怎麼解決
在python里線程出問題,可能會導致主進程崩潰。 雖然python里的線程是操作系統的真實線程。
那麼怎麼解決呢?通過我們用進程方式。子進程崩潰後,會完全的釋放所有的內存和錯誤狀態。所以進程更安全。 另外通過進程,python可以很好的繞過GIL,這個全局鎖問題。
但是進程也是有局限的。不要建立超過CPU總核數的進程,否則效率也不高。
簡單的總結一下。
當我們想實現多任務處理時,首先要想到使用multiprocessing, 但是如果覺着進程太笨重,那麼就要考慮使用線程。 如果多任務處理中需要處理的太多了,可以考慮多進程,每個進程再採用多線程。如果還處理不要,就要使用輪詢模式,比如使用poll event, twisted等方式。如果是GUI方式,則要通過事件機制,或者是消息機制處理,GUI使用單線程。
所以在python里線程不要盲目用, 也不要濫用。 但是線程不安全是事實。如果僅僅是做幾個後台任務,則可以考慮使用守護線程做。如果需要做一些危險操作,可能會崩潰的,就用子進程去做。 如果需要高度穩定性,同時並發數又不高的服務。則強烈建議用多進程的multiprocessing模塊實現。
在linux或者是unix里,進程的使用代價沒有windows高。還是可以接受的。
原創文章,作者:VEL21,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/127327.html