python mysql 文件管理_Python学习day07 文件管理、mysql-python及常用模块

文件的管理

文件管理的三大步骤

文件的几种模式总结

r模式

w模式

r模式

w模式

a模式

a模式

b模式

文件的读取

文件的写入

文件的其它操作

文件的几个注意点

python操作mysqlmariadb数据库

模块与包

模块

创建包的步骤

常用模块

os模块

os

ospath模块

sys 模块

time模块

文件的管理

输入(raw_input/input)—> 程序处理 —> 输出(print)

文件管理的三大步骤:

打开文件; f = open(“filename”)

处理文件;

f.read() # 可以读取文件内容

f.write(“hello”) # 不能往文件中写入,因为默认文件以r的模式打开;

关闭并保存文件; f.close()

文件的几种模式总结:

r模式:

若文件不存在,直接报错;

文件只能读取,不能写入;

w模式:

若文件不存在,直接创建文件;

文件只能写入,不能读取;

打开文件时会清空原有文件内容;

r+模式:

若文件不存在,直接报错;

文件可以读也可以写;

具体写入的内容在哪里,由文件指针(句柄)决定;

w+模式:

若文件不存在,直接创建文件;

文件既能写入也能读取;

打开文件时会清空原有文件内容;

a模式

若文件不存在,直接创建文件;

文件只能写入,不能读取;

写入的内容直接追加到文件最后;

a+模式

若文件不存在,直接创建文件;

文件既能写入也能读取;

写入的内容直接追加到文件最后;

b模式

以二进制的方式打开文件,可以跟r,w,+等组合使用;

文件的读取

read()# 直接读取文件所有内容;

readline()# 每次读取文件一行内容,返回类型为字符串;

readlines()# 读取文件所有内容,以列表形式返回;

xreadlines()# 类似生成器,文件内容不直接以列表方式返回;

96b7b48bc62d2a4a16f08294e3b7f834.png

文件的写入

f.write(“str”) # 将字符串写入文件

f.writelines(“[“hello\n”,”world\n”]”) # 将序列的每个元素写入文件;

指针指向文件末尾,默认写入文件末尾

文件的其它操作

移动指针

- f.seek(偏移量,选项)

偏移量,如果为正数,代表向右偏移;如果为负数,代表向左偏移; 选项,如果为0,指针指向文件开始; 如果为1,指针指向当前位置;

如果为2,指针指向文件末尾;

f.flush() 文件修改之后默认不保存,操作提交对文件的修改;

文件的几个注意点:

文件对象是可迭代数据类型,可以通过for遍历文件的内容;

with open(“filename”) as f:通过这种方法来避免用户忘记关闭文件的问题;

练习题:

1. 显示文件的所有行,但忽略以#开头的行;

2. 逐页显示文本文件的程序,用户输入一个文件名,每次默认显示行数为10行,给用户一个选项,”是否继续?(Y|N)”

python操作mysql(mariadb)数据库

安装:

yum install mysql-python -y

import MySQLdb as mysql

#导入python操作数据库的模块并重命名为简单好记的标志

con = mysql.connect('localhost','root','redhat','lockey')

#连接服务器及数据库,当然这一步可以不用写数据库,可以在后面通过cnn.select_db('lockey')来连接到具体的数据库

db = con.cursor()

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

insert_com = 'insert into User values(%s,%s,%s)'

db.execute(insert_com,('ha1',23,'male'))

# 使用execute方法执行SQL语句

#上边两句的作用等同于下面这句,只不过思想更好一点

#db.execute('insert into User values("ha1",23,"male")')

con.commit()

#提交事务

db.execute('select * from User')

#做一次数据库查询的操作

data = db.fetchall()

# 使用 fetchall() 方法获取所有执行结果,结果为元组类型。

for i in data:

print i

db.close()

#关闭游标

con.close()

#关闭数据库

模块与包

模块

在 Python 中,一个.py文件就称之为一个模块(Module)。

•大大提高了代码的可维护性;

•编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用;

创建包的步骤:

1、创建一目录为包名;

2、在该文件夹下创建init.py文件存放包的信息,该文件可以为空;

3、根据需要存放脚本文件,已编译的扩展及子包;

4、可以用import,import as,from import等语句导入模块和包;

常用模块

os模块

os 模块提供了一个统一的操作系统接口函数, 这些接口函数通常是平台指定的,os 模块能在不同操作系统平台如 nt 或

posix中的特定函数间自动切换,从而能实现跨平台操作

os

1, os.name: 字符串指示你正在使用的平台。比如对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’。

2, os.stat(file):文件属性操作;

3, os.getcwd():得到当前工作目录,即当前Python脚本工作的目录路径;

4, os.getdir():获取当前目录;

5, os.getenv()和os.putenv():分别用来读取和设置环境变量;

6, os.listdir():返回指定目录下的所有文件和目录名;

7, os.makedirs(dirname)和os.removedirs(dirname):分别生成和删除目录,makedirs可以生成多层递归目录,removedirs可以删除多层递归的空目录,若目录中有文件则无法删除;

8, os.remove():删除一个文件;

9, os.rename(file,back):给文件重命名;

10,os.system():运行shell命令;

11,os.linesep:字符串给出当前平台使用的终止符,例如:Windows使用’\r\n’,Linux使用’\n’;

os.path模块

1, os.path.split():返回一个路径的目录名和文件名;

2, os.path.isfile()和os.path.isidr():分别检验给出的路径是一个文件还是目录;

3, os.path.existe():检验给出的路径是否真的存在

4, os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false;

5, os.path.isfile(name):判断name是不是一个文件,不存在name也返回false;

6, os.path.exists(name):判断是否存在文件或目录name;

7, os.path.getsize(name):获得文件大小,如果name是目录返回0L;

8, os.path.abspath(name):获得绝对路径;

9, os.path.normpath(path):规范path字符串形式;

10,os.path.split(name):分割文件名与目录;

11,os.path.splitext():分离文件名与扩展名;

12,os.path.join(path,name):连接目录与文件名或目录

13,os.path.basename(path):返回文件名;

14,os.path.dirname(path):返回文件路径;

sys 模块

主要提供了系统相关的配置和操作,封装了探测、改变解释器

- runtime 以及资源的交互。

- sys.version: 得到解释器的版本信息

- sys.platform: 得到当前运行平台sys模块

- sys.argv: 获取传递给脚本的参数,参数解析类似于 bash 的方式,第一个参数代表脚本本身;

- print sys.argv:以列表方式返回传递给脚本的参数

- sys.stderr , sys.stdin , sys.stdout: 这些都分别代表一个文件对象;

time模块

time.mktime(t): 将元组格式时间转化为时间戳

time.localtime(): 将时间戳转化为元组格式时间

time.sleep(secs)

time.ctime([secs]): 将时间戳转化为字符串格式显示

time.strftime(format[,t]): 将元组格式时间转化为字符串显示

time.strptime(string[,format]): 将字符串显示转化为元组格式时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值