1.上下文管理器是什么?舉個例子,你在寫Python代碼的時候經常將一系列操作放在一個語句塊中:(1)當某條件為真?C執行這個語句塊(2)當某條件為真?C循環執行這個語句塊有時候我們需要在當程序在語句塊中運行時保持某種狀態,并且在離開語句塊后結束這種狀態。所以,事實上上下文管理器的任務是?C代碼塊執行前準備,代碼塊執行后收拾。上下文管理器是在Python2.5加入的功能,它能夠讓你的代碼可讀性更強并且錯誤更少。接下來,讓我們來看看該如何使用。2.如何使用上
系統 2019-09-27 17:38:08 1619
python語言的3.x完全不向前兼容,導致我們在python2.x中可以正常使用的庫,到了python3就用不了了.比如說mysqldb1.安裝pymysqlpymysql就是作為python3環境下mysqldb的替代物,進入命令行,使用pip安裝pymysqlpipinstallpymysql32.使用pymysql在我們需要使用數據庫的.py文件開頭添加下面兩行importpymysqlpymysql.install_as_MySQLdb()第一行
系統 2019-09-27 17:38:08 1619
前言很多時候在windows下壓縮文件沒問題,但是到了Linux下,出現亂碼,很常見。以前在Ubuntu下,用`unzip-OGBKfilename.zip`就可以搞定。換了Fedora后,暫時沒發現亂碼的壓縮文件。晚上下載一本書的光盤,又碰到了亂碼。嘗試之前的方法沒成功。看了下unzip的help,沒-O那個參數了==剛好找到一個用python解決的辦法,分享下。新建一個`.py`后綴的文件,直接復制粘貼代碼:#!/usr/bin/envpython#-
系統 2019-09-27 17:38:03 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
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
我的操作系統為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
簡單的一個python日志處理類復制代碼代碼如下:#/usr/bin/python#coding=utf-8importtime,typesclasslogsys:def__init__(self,project,logfilename='sys_log.txt'):self.project=projectself.logfilename=logfilenamedefget_log_time(self):returntime.strftime("%Y-%m
系統 2019-09-27 17:37:44 1619
在語句Book.objects.all()中,objects是一個特殊的屬性,需要通過它查詢數據庫。在第5章,我們只是簡要地說這是模塊的manager。現在是時候深入了解managers是什么和如何使用了。總之,模塊manager是一個對象,Django模塊通過它進行數據庫查詢。每個Django模塊至少有一個manager,你可以創建自定義manager以定制數據庫訪問。下面是你創建自定義manager的兩個原因:增加額外的manager方法,和/或修ma
系統 2019-09-27 17:37:39 1619