原创 PyInstaller-2.1打包python程序

安裝 1.下載解壓PyInstaller-2.1.zip,可以放在任意目錄 2.cd C:\PyInstaller-2.1 執行python PyInstaller.py 若出現如下錯誤,則需要安裝pywin32-218.w

原创 簡單介紹同步,異步,阻塞,非阻塞

同步 所謂同步,就是調用一個功能,在沒有得到結果之前,該調用就不返回,死等結果。也就是必須一件一件事做,等前一件做完了才能做下一件事。 舉例 就像早上起牀後,先洗涮,然後才能喫飯,不能在洗涮沒有完成時就開始喫飯。 異步 就是我調

原创 select、poll、epoll簡介

epoll跟select都能提供多路I/O複用的解決方案。在現在的Linux內核裏有都能夠支持,其中epoll是Linux所特有,而select則應該是POSIX所規定,一般操作系統均有實現 select 本質 通過設置或者檢查

原创 ‘python’不是內部或外部命令

發現問題 我們安裝python後,運行cmd執行python時,可能會出現如下情況: 解決問題 運行->cmd set PATH=%path%;C:\Python27 點贊 收藏 分享 文章

原创 淺談const,static,extern

關於const const有什麼用 const用來定義一個只讀的變量或對象。 主要優點 便於類型檢查,同宏定義一樣可以方便地進行參數的修改和調整,節省空間,避免不必要的內存分配,可爲函數重載提供參考。 說明 const修飾函

原创 Heap與stack的差別

1.Stack的空間由操作系統自動分配/釋放,Heap上的空間手動分配/釋放。 2.Stack空間有限,Heap是很大的自由存儲區 3.C中的malloc函數分配的內存空間即在堆上,C++中對應的是new操作符。 4.程序在

原创 創建一個tcp連接

創建步驟 調用reactor.connetcTCP()方法打開一個TCP連接,傳遞一個ClientFactory對象作爲第三個參數。ClientFactory對象等待連接被建立,然後創建一個Protocol對象來管理連接中的數據流

原创 Twisted模型簡介

Twisted簡介 Twisted 網絡編程框架是一種基於事件的網絡編程框架,用戶需要繼承特定的類,並重載其中的方法來處理網絡通信中可能出現的各種情況。一個典型的Twisted應用程序會建立至少一個協議,可以從twisted.in

原创 py2exe打包python程序

py2exe簡介 py2exe是一個將python腳本轉換成windows上的可獨立執行的可執行程序(*.exe)的工具,這樣,你就可以不用裝python而在windows系統上運行這個可執行程序。 py2exe用法 如果你有一個

原创 typedef和define有什麼區別

用法不同 typedef用來定義一種數據類型的別名,增強程序的可讀性。define主要用來定義常量,以及書寫複雜使用頻繁的宏。 執行時間不同 typedef是編譯過程的一部分,有類型檢查的功能。define是宏定義,是預編譯的部分

原创 簡單瞭解交換機

簡介 是一種基於MAC地址識別,能完成封裝轉發數據幀功能的網絡設備,工作在數據鏈路層。 基本功能 1.像集線器一樣,交換機提供了大量可供線纜連接的端口,這樣可以採用星型拓撲佈線。 2.像中繼器、集線器和網橋那樣,當它轉發幀時,交換

原创 Linux下的五種I/O模型

阻塞I/O 簡介 應用程序調用一個IO函數,導致應用程序阻塞,等待數據準備好。 如果數據沒有準備好,一直等待….數據準備好了,從內核拷貝到用戶空間,IO函數返回成功指示。也就是說進程會一直阻塞,直到數據拷貝完成。 模型圖示 非

原创 進程和線程的差別

什麼是進程 進程(Process)是計算機中的程序關於某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。它可以申請和擁有系統資源,是一個動態的概念,是一個活動的實體。它不只是程序的代碼,還包括當

原创 glob

模塊簡介 glob是python自己帶的一個文件操作相關模塊,用它可以查找符合特定規則的文件路徑名。跟使用windows下的文件搜索差不多。 glob(pattern) 返回與pattern相匹配的路徑名列表。它只有一個參數pat

原创 簡述strcpy、sprintf與memcpy的區別

操作對象不同 1.strcpy的兩個操作對象均爲字符串 2.sprintf的操作源對象可以是多種數據類型,目的操作對象是字符串 3.memcpy的兩個對象就是兩個任意可操作的內存地址,並不限於何種數據類型。 執行效率不同 me