Android程序猿带你学python第5章--输入与输出(I/O)
来源:互联网 发布:淘宝卖中药材 编辑:程序博客网 时间:2024/06/10 01:43
导读
在第0章就说过,程序无非就是输入->逻辑->输出。所以如何处理输入和输出就显得非常重要,常见的输入有控制台输入,函数接受参数输入,常见的输出有控制台输出,文件,数据库等
常见的I/O处理
控制台输入输出
>>print("hello")>>s = input("please scan")>>print(s)这个之前已经用过很多次了
数据持久化
1.文件
打开文件
>>f = open("xxx.txt)#读取文件>>for line in f: >>print(line)
打开模式
w:写方式打开文件,如果文件存在,清空
r:读方式打开文件
a:追加的方式打开文件,如果文件存在,指针自动到文件尾部
a+:a+读
w+:w+读
b:以二进制打开文件
写文件
f.write(“hello”) //追加还是重写决定于打开的模式和指针的位置
read()
readline()
readlines()
seek()移动
tell()指针目前的位置
pickle/cpickle
pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上
//存
prickle.dump(object, file[protocol])
object:序列化对象
file:要写入的文件
protocol:可选项,默认为false,以ASCII格式保存,如果设置为1或true,则以二进制的形式保存
//取
pickle.load(file)
举个例子#! /usr/bin/env python#coding=utf-8import picklel = ["tony","python", 2017, 6]f = open("D:\\test.txt", "wb+") s = pickle.dump(l, f)#必须先关闭,否则pickle.load(f1)会出现EOFError: Ran out of input f.close()f = open("D:\\test.txt", "rb") ll = pickle.load(f)print(ll)ll的输出结果:["tony","python", 2017, 6]文件里的内容:€]q (X tonyqX pythonqM?Ke.
shelve
写入
>>s = shelve.open("file")>>s["name"] = "tony">>s["sex"] = "male">>s.close()
读取
>>s = shelve.open("file")>>name = s["name]>>sex = s["sex"]
循环读取
>>for k in s : >>print(k + s[k])
修改已有键的值
>>s = shelve.open("file", writeback=true)>>s["name"].append("tony2")
2.数据库–关系型数据库 mysql
下载mysql
连接驱动
PyMySQL https://pypi.python.org/pypi/PyMySQL#downloads
获得数据库连接对象
conn = pymysql.connect(host=’localhost’, port=3306, user=’root’, passwd=’w19920309z’, db=’test_db’,charset=’UTF8’)
获得游标
cur = conn.cursor()
增
self.cur.executemany("insert into users (username, password, email) values (%s,%s,%s)", (("python","123456","python@163c.om"), ("github", "1221", "tony@163.com")))self.conn.commit()
改
#还记得之前讲过的string的格式化吗 3种方式self.execute("update user set username=%s where id=2", ("mypython"))self.conn.commit()
查
self.cur.execute("select * from users")lines = self.cur.fetchall()for line in lines: print(line)self.cur.scroll(1, "absolute")lines = self.cur.fetchall()for line in lines: print(line)
总结
I/O在实际项目中使用频率非常高,print()常用于一些简单调试,可以在控制台看到流程走到哪了,输出结果是否与期望保持一致
数据库和文件在Web项目里被使用到,用于数据的持久化
在学完下一章异常处理,整个python的语法就全部结束了,可以找一些实际项目练练手,比如搭建一个网站
- Android程序猿带你学python第5章--输入与输出(I/O)
- Android程序猿带你学python第0章--导读
- Android程序猿带你学python第1章--基本对象类型
- Android程序猿带你学python第2章--逻辑控制
- Android程序猿带你学python第3章--函数和方法
- Android程序猿带你学python第4章--类
- Android程序猿带你学python第6章--异常处理
- I/O口的输入与输出
- I/O输入与输出函数
- I/O输入、输出
- C++ 输入/输出(I/O)
- Java I/O(输入/输出)
- I/O(输入/输出)
- I/O 输入与输出(1) -- File类
- I/O 输入与输出(2) -- RandomAccessFile类
- Java Console I/O Java控制台输入与输出
- 02_输入与输出I/O(基础篇)
- java系统学习(十一) --------输入与输出(I/O)
- [leetcode]Jump Game II
- 错误
- mysql-5.5.56免安装版配置方法
- Java基础应用之循环控制(终止循环体)
- typename和class
- Android程序猿带你学python第5章--输入与输出(I/O)
- MUI(1)
- C笔记 联合体 枚举
- 愿你一切从头做起---Android test
- struct构造函数
- 滚动事件
- Apache Shiro系列(1)
- 封装JDBC—非框架开发必备的封装类
- 数电第三章重点总结——《门电路》