python编程常用模板总结

 python编程常用模板总结

在我们编程时,有一些代码是固定的,例如Socket连接的代码,读取文件内容的代码,一般情况下我都是到网上搜一下然后直接粘贴下来改一改,当然如果你能自己记住所有的代码那更厉害,但是自己写毕竟不如粘贴来的快,而且自己写的代码还要测试,而一段经过测试的代码则可以多次使用,所以这里我就自己总结了一下Python中常用的编程模板,如果还有哪些漏掉了请大家及时补充哈。

一、读写文件

1、读文件

(1)、一次性读取全部内容
filepath='D:/data.txt' #文件路径

with open(filepath, 'r') as f:
print f.read()

(2)读取固定字节大小
# -*- coding: UTF-8 -*-

filepath='D:/data.txt' #文件路径

f = open(filepath, 'r')
content=""
try:
while True:
chunk = f.read(8)
if not chunk:
break
content+=chunk
finally:
f.close()
print content

(3)每次读取一行
# -*- coding: UTF-8 -*-

filepath='D:/data.txt' #文件路径

f = open(filepath, "r")
content=""
try:
while True:
line = f.readline()
if not line:
break
content+=line
finally:
f.close()
print content

(4)一次读取所有的行
# -*- coding: UTF-8 -*-

filepath='D:/data.txt' #文件路径

with open(filepath, "r") as f:
txt_list = f.readlines()

for i in txt_list:
print i,

2、写文件
# -*- coding: UTF-8 -*-

filepath='D:/data1.txt' #文件路径

with open(filepath, "w") as f: #w会覆盖原来的文件,a会在文件末尾追加
f.write('1234')

二、连接MySQL数据库

1、连接
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

DB_URL='localhost'
USER_NAME='root'
PASSWD='1234'
DB_NAME='test'

# 打开数据库连接
db = MySQLdb.connect(DB_URL,USER_NAME,PASSWD,DB_NAME)

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取一条数据库。
data = cursor.fetchone()

print "Database version : %s " % data

# 关闭数据库连接
db.close()

2、创建表
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""

cursor.execute(sql)

# 关闭数据库连接
db.close()

3、插入
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# Rollback in case there is any error
db.rollback()

# 关闭数据库连接
db.close()

4、查询
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > '%d'" % (1000)
try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
(fname, lname, age, sex, income )
except:
print "Error: unable to fecth data"

# 关闭数据库连接
db.close()

5、更新
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 更新语句
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1
WHERE SEX = '%c'" % ('M')
try:
# 执行SQL语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 发生错误时回滚
db.rollback()

# 关闭数据库连接
db.close()

三、Socket
1、服务器
from socket import *
from time import ctime

HOST = ''
PORT = 21568
BUFSIZ = 1024
ADDR = (HOST, PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)

while True:
print 'waiting for connection...'
tcpCliSock, addr = tcpSerSock.accept()
print '...connected from:', addr

用户喜欢...

使用全可编程SoC简化您的增强现实系统

研究表明,我们人类与世界的视觉互动,因为我们处理视觉图像比以其他形式呈现的信息快许多倍,例如书面文本。 增强现实(AR)与其虚拟现实(VR)表亲一样,使我们能够体验对周围环境的...


干货 WiFi产品常用射频功率放大器汇总

在这些年的WiFi产品开发中,接触了多种型号的射频功率放大器(以下简称PA),无线时代对WiFi产品中常用的射频功率放大器做个汇总,供读者参考。本文中部分器件型号是Frontend Module,即包含...


让你生活更简单的几个不常用的Linux命令

作为一个软件工程师,学习Linux是我做过的最好的时间投资。因为它是一个用户必须理解和维护的系统,每天的使用经验就像在水坑中添加一滴水一样。很长时间以后,水坑就变成了湖泊,甚至...


DFRobot的Arduino兼容BLE硬件解决方案,具有无线编程,智能应用程序控制,长通信范围和外围模块

DFRobot的Bluno系列与标准的Arduino引脚兼容,这意味着使用Arduino制作的任何项目都可以直接通过蓝牙轻松进行无线连接。所有Bluno板卡和模块都集成了板载BLE,提供无线编程,蓝牙HID,AT命令配置...


使用 Micro Python 快速开发基于实时微控制器的应用程序

实时嵌入式系统变得非常复杂,不仅要深入了解复杂的 32 位微控制器,还要了解传感器、算法、因特网协议以及各种不同的终端用户应用。随着开发周期缩短和功能增多,开发团队需要设法加...


Unity架构常用的几种方式

对于初学者来说,视频《Unity项目架构设计与开发管理》(),全是干货。简单的总结了一下,Unity的架构有如下几种常用的方式。 1、EmptyGO: 在Hierarchy上创建一个空的GameObject,然后挂上所有与...


VDMA从配置到编程

使用Zynq进行视频开发的同学们,基本上会用到VDMA,尤其,HLS自动化IP生成也成为开发的一种方法,最近,通过HLS生成IP,通常AXI-Stream接口,那么就需要VDMA接口进行数据搬移。而这过程中VDM...


Linux常用指令及操作

Linux 常用指令 使用命令man+【具体指令名称】可以查看该指令的详细使用方式 Ubuntu用户首次设置root用户密码: 在终端输入命令 sudo passwd,输入当前用户的密码然后回车进行设置 ls 显示文件或...


盘点·GitHub最著名的20个Python机器学习项目

开源是技术创新和快速发展的核心。这篇文章向你展示Python机器学习开源项目以及在分析过程中发现的非常有趣的见解和趋势。 我们分析了GitHub上的前20名Python机器学习项目,发现scikit-Lear...


Python基础语法-常量与变量

Python是一门强类型的动态语言。 字面常量,变量没有类型,变量只是在特定的时间指向特定的对象而已,变量所指向的对象是有类型的。 变量:变量在赋值时被创建,它可以是任何对象的引...


英国伯明翰大学团队使用Theano,Python,PYNQ和Zynq开发定点Deep Recurrent神经网络

可编程逻辑(PLD)是由一种通用的集成电路产生的,逻辑功能按照用户对器件编程来确定,用户可以自行编程把数字系统集成在PLD中。经过多年的发展,可编程逻辑器件由70年代的可编程逻辑阵...


【活动】《MicroPython入门指南》正式出版了,进微信群一起交流!

第一本专门介绍MicroPython的中文图书《MicroPython入门指南》由电子工业出版社正式出版了。 《MicroPython入门指南》 作者:邵子扬 MicroPython是近年开源社区中最热门的项目之一,它功能强大,使...


Python Web 开发框架 Django 2.0 发布

流行 Python Web 开发框架 Django 释出了 2.0 版本。主要变化包括:停止支持 Python 2 系列,Django 1.11.x 是支持 Python 2.7 的最后版本,Django 2.0 支持 Python 3.4、3.5 和 3.6,其中 Python 3.4 将于 2019 年 3...


通信IP:固定功能 vs 软件可编程?

作者:Richard Edgar,Imagination科技,通信技术营销总监 当我们决定使用第三方IP实现系统的无线通信功能时我们需要作出一个选择,是采用固定功能的IP还是软件可编程的IP。可以说这两种方式...


电路设计中三种常用接地方法

地线也是有阻抗的,电流流过地线时,会产生电压,此为噪声电压,而噪声电压则是影响系统稳定的干扰源之一,不可取。所以,要降低地线噪声的前提是降低地线的阻抗。 众所周知,地线...


机器学习:朴素贝叶斯--python

今天介绍机器学习中一种基于概率的常见的分类方法,朴素贝叶斯,之前介绍的KNN, decision tree 等方法是一种 hard decision,因为这些分类器的输出只有0 或者 1,朴素贝叶斯方法输出的是某一类...