實際上,Python提供了with語句來管理資源關閉。比如可以把打開的文件放在with語句中,這樣with語句就會幫我們自動關閉文件。with語句的語法格式如下:withcontextexpression[astarget(s)]:with代碼塊在上面的語法格式中,context_expression用于創建可自動關閉的資源。例如,程序使用with語句來讀取文件:importcodecs#使用with語句打開文件,該語句會負責關閉文件withcodecs.
系統 2019-09-27 17:38:03 1619
前言很多時候在windows下壓縮文件沒問題,但是到了Linux下,出現亂碼,很常見。以前在Ubuntu下,用`unzip-OGBKfilename.zip`就可以搞定。換了Fedora后,暫時沒發現亂碼的壓縮文件。晚上下載一本書的光盤,又碰到了亂碼。嘗試之前的方法沒成功。看了下unzip的help,沒-O那個參數了==剛好找到一個用python解決的辦法,分享下。新建一個`.py`后綴的文件,直接復制粘貼代碼:#!/usr/bin/envpython#-
系統 2019-09-27 17:38:03 1619
從有道詞典網頁獲取某單詞的中文解釋。importreimporturllibword=raw_input('inputaword\n')url='http://dict.youdao.com/search?q=%s'%wordcontent=urllib.urlopen(url)pattern=re.compile("",re.DOTALL)result=pattern.search(content.read()).group()pattern2=re.c
系統 2019-09-27 17:38:02 1619
前言相信對于python開發人員來說,機器上有不同的python版本是很正常的,因為開發的項目有的用2.6或2.7,有的就要用3.0+版本,如何把這些不同的版本管理好,保持每個環境的干凈和獨立,方便不同版本之間的切換,這時候就要用到我們的虛擬環境了,所以今天我們就來看看python虛擬環境搭建工具pyenv的使用。1、安裝gitclonehttps://github.com/yyuu/pyenv.git~/.pyenvecho‘exportPYENV_RO
系統 2019-09-27 17:38:00 1619
示例一#coding=UTF-8importsysimportMySQLdbimporttimereload(sys)sys.setdefaultencoding('utf-8')defconnectDemo():returnMySQLdb.Connection("127.0.0.1","root","root","demo",3306,charset="utf8")if__name__=='__main__':begin=time.time()conn=
系統 2019-09-27 17:37:59 1619
python是支持多線程的,主要是通過thread和threading這兩個模塊來實現的。thread模塊是比較底層的模塊,threading模塊是對thread做了一些包裝的,可以更加方便的使用。雖然python的多線程受GIL限制,并不是真正的多線程,但是對于I/O密集型計算還是能明顯提高效率,比如說爬蟲。下面用一個實例來驗證多線程的效率。代碼只涉及頁面獲取,并沒有解析出來。#-*-coding:utf-8-*-importurllib2,timeim
系統 2019-09-27 17:37:56 1619
解決思路首先想到的就是利用python的正則表達式來匹配非法字符,然后找出非法記錄。然而理想總是豐滿的,現實卻是殘酷的。在實現的過程中,才發現自己對于字符編碼、以及python內部字符串表示的相關知識的缺乏。在這期間,踩過了不少坑,到最后雖然還有些模糊的地方,但總算有一個總體清晰的了解。在此記錄下心得,避免以后在同一個地方跌倒。以下的測試環境是ArcGIS10.3自帶的python2.7.8環境,不保證其他python環境也適用。python正則表達式py
系統 2019-09-27 17:37:48 1619
1.準備工作:工欲善其事必先利其器,因此我們有必要在進行Coding前先配置一個適合我們自己的開發環境,我搭建的開發環境是:操作系統:Ubuntu14.04LTSPython版本:2.7.6代碼編輯器:SublimeText3.0這次的網絡爬蟲需求背景我打算延續DotNet開源大本營在他的那篇文章中的需求,這里就不再詳解。我們只抓取某一省中所有主要城市從2015-11-22到2015-10-24的白天到夜間的所有天氣情況。這里以湖北省為例。2.實戰網頁爬蟲
系統 2019-09-27 17:37:46 1619
對于某一類網站,管理界面是基礎設施中非常重要的一部分。這是以網頁和有限的可信任管理者為基礎的界面,它可以讓你添加,編輯和刪除網站內容。一些常見的例子:你可以用這個界面發布博客,后臺的網站管理者用它來潤色讀者提交的內容,你的客戶用你給他們建立的界面工具更新新聞并發布在網站上,這些都是使用管理界面的例子。但是管理界面有一問題:創建它太繁瑣。當你開發對公眾的功能時,網頁開發是有趣的,但是創建管理界面通常是千篇一律的。你必須認證用戶,顯示并管理表格,驗證輸入的有效
系統 2019-09-27 17:37:46 1619
我的操作系統為centos6.51首先選擇django要使用什么數據庫。django1.10默認數據庫為sqlite3,本人想使用mysql數據庫,但為了測試方便順便要安裝一下sqlite開發包。yuminstallmysqlmysql-devel#為了測試方便,我們需要安裝sqlite-devel包yuminstallsqlite-devel2接下來需要安裝Python了,因為Python3已經成為主流,所以接下來我們要安裝Python3,到官網去下載P
系統 2019-09-27 17:37:45 1619