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

    while True:
        try:
            data = tcpCliSock.recv(BUFSIZ)
            print ‘<‘, data
            tcpCliSock.send(‘[%s] %s‘ % (ctime(), data))
        except:
            print ‘disconnect from:‘, addr
            tcpCliSock.close()
            break
tcpSerSock.close()

2、客户端

from socket import *

HOST = ‘localhost‘
PORT = 21568
BUFSIZ = 1024
ADDR = (HOST, PORT)

tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)  

try:
    while True:
        data = raw_input(‘>‘)
        if data == ‘close‘:
            break
        if not data:
            continue
        tcpCliSock.send(data)
        data = tcpCliSock.recv(BUFSIZ)
        print data
except:
    tcpCliSock.close()  

四、多线程

import time, threading

# 新线程执行的代码:
def loop():
    print ‘thread %s is running...‘ % threading.current_thread().name
    n = 0
    while n < 5:
        n = n + 1
        print ‘thread %s >>> %s‘ % (threading.current_thread().name, n)
        time.sleep(1)
    print ‘thread %s ended.‘ % threading.current_thread().name

print ‘thread %s is running...‘ % threading.current_thread().name
t = threading.Thread(target=loop, name=‘LoopThread‘)
t.start()
t.join()
print ‘thread %s ended.‘ % threading.current_thread().name

还请大家积极补充!

时间: 2024-10-13 12:18:06

python编程常用模板总结的相关文章

python编程常用模块记录

time(时间相关模块) logging(日志模块) [time 模块] 与时间有关还有datetime.calendar等 time模块常用于获取当前系统日期时间,该值可用于日志文件命名或者任何sleep函数让进程挂起. 常用用法: 一.现在需要知道当前时间,转换为字符串: #! /usr/bin/env python #coding=utf-8 import time print time.strftime('%Y-%m-%d %A %X %Z',time.localtime(time.ti

python程序员常用英语词汇,不会英语想学python编程的(收藏)

很多小伙伴们都在问小编:"我不会英语,想学python编程,怎么办",相信这个问题困扰了太多太多想学习编程但是英文不好的小伙伴吧.那么小编告诉你,可以.小编整理了最最常用的词,需要全部的加Q君羊 八八三四四四一零六 在君羊文件里 其实小编的英语也不好,其实学习编程不用担心英语不好的,毕竟常用的单词就那么多,只要把常用的单词学会了,你的代码就一样可以写的6到飞起,编程和英语的关系其实非常的简单和纯粹. 下面小编就整理了一些常用的单词,小伙伴们可以在闲暇时间看看,翻开读一读,以后就不用担心

Python编程中常用的12种基础知识总结

原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进制转换,Python调用系统命令或者脚本,Python 读写文件. 1.正则表达式替换目标: 将字符串line中的 overview.gif 替换成其他字符串 1 2 3 4 5 6 7 8 9 10 11 >>> lin

Python 编程中常用的 12 种基础知识总结

Python 编程中常用的 12 种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进制转换,Python调用系统命令或者脚本,Python 读写文件. 1.正则表达式替换 目标:将字符串line中的 overview.gif 替换成其他字符串 >>> line = '<IMG ALIGN="middle" SRC=\'#\'" /s

Python第三方常用工具、库、框架等

Python ImagingLibrary(PIL):它提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换.打印和显示.还能进行一些图形效果的处理,如图形的放大.缩小和旋转等.是用户进行图象处理的强有力工具. http://www.pythonware.com/products/pil/ matplotlib:一个Python的2D绘图库. http://matplotlib.org/ Pmw(Pythonmegawidgets):它是超级GUI组件集----一个利

Python的常用库

读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都应该有它. Scrapy.如果你从事爬虫相关的工作,那么这个库也是必不可少的.用过它之后你就不会再想用别的同类库了. wxPython.Python的一个GUI(图形用户界面)工具.我主要用它替代tkinter.你一定会爱上它的. Pillow.它是PIL(Python图形库)的一个友好分支.对于用

python编程技巧

python编程中常用的12种基础知识总结: 正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进制转换,Python调用系统命令或者脚本,Python 读写文件. 1.正则表达式替换目标: 将字符串line中的 overview.gif 替换成其他字符串 >>> line = '<IMG ALIGN="middle" SRC=\'#\'" /spa

《Python编程:从入门到实践 》[Eric Matthes著] 中文pdf非扫描版

下载地址:网盘下载 内容简介  · · · · · · 本书是一本针对所有层次的Python 读者而作的python 入门书.全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib.NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表.字典.if 语句.类.文件与异常.代码测试等内容:第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图,以及创建和定制简单的Web 应用,并帮读者

《趣学Python编程》习题总结

上周买了本书叫<趣学Python编程>(英文名:Python for kids),昨天看完后把书后面的题都做了下.由于第1.2章没有习题,第13章及之后都是描写实例的章节,因此这个总结性的文章中只包含了第3-12章的习题答案. 1.我的调试环境 我分别在我的Win7上和RedHat上调试过Python: 1)Win7的IDE可以从Python的官网上下载: https://www.python.org/downloads/windows/ 点击链接Python 3.4.2→Download W