python文件读写实验小结

(一)文件的打开与关闭

一、文件的打开方式

f=open(name,mode)
具体说明:

name:文件名或者包含完整的路径和文件名
mode:打开文件的操作方式

打开方式说明
“r”只读方式(若文件不存在,则返回FileNotFoundError)
“w”写方式(若文件不存在,则创建文件,若存在则覆盖文件原有内容)
“x”创建方式(若文件不存在则创建文件,若存在则返回FileNotFoundError)
“a”追加方式(若文件不存在则创建文件,若存在则在文件内容最后追加新内容)
“b”二进制文件方式
“t”文本文件方式
“+”与r/w/x/a一同使用,在原功能基础上增加具有读写功能

:前四个与后三个可以组合使用。

二、文件的关闭方式

1、使用with语句:

代码块执行完毕时,会自动关闭文件

with open('test.txt', 'r') as file:
    #读取文件内容
    f = file.read()
    print(f)
    # 文件在这里已经被自动关闭
2、使用close()方法:
file = open('test.txt', 'r')
# 读取文件内容
f = file.read()
print(f)
file.close()

(二)文件的读取操作

方法说明
read(size)从文件中读入整个文件内容,可以选择读取长度size(换行符\n也会自动识别)
readline(size)从文件中读取一行内容,括号里可以填该行读入字符串长度size
readlines(hint)从文件中读入所有行,以行为元素形成一个列表(读取hint行)
seek(offset)改变当前文件操作指针的位置,offset的值:以0为开头,1为当前位置,2为结尾
1、读取文本文件
# 读取文件(1)
with open('test.txt', 'r') as file:
    data = file.read()
    print(data)
# 读取文件(2)
a=open('test.txt', 'r').read()
print(a)
2、读取CSV文件
import csv
# 读取CSV文件
with open('test.csv', 'r') as csvfile:
    csv_reader = csv.reader(csvfile)
    for row in csv_reader:
        print(row)

#####3、读取Excel文件

import xlwt#创建和写入Excel文件
import xlrd#读取Excel文件中的数据

book = xlwt.Workbook(encoding="utf-8")#创建表格对象
sheet = book.add_sheet('sheet_test')#添加表

wb = xlrd.open_workbook(r"test.xls")
for s in wb.sheets():
    for i in range(s.nrows):
        print(s.row(i)[0].value, end=' ')
        print(s.row(i)[1].value, end=' ')
        print(s.row(i)[2].value, end=' ')
        print(s.row(i)[3].value, end=' ')
        print(s.row(i)[4].value, end=' ')
        print()
4、从Word文件读取
f = open("test.docx", 'r')
list = f.readlines()
for s in list:
    print(s[:-1], end=' ')

f.close()
5、从数据库中读取
import sqlite3
# 连接到SQLite数据库(假设有一个名为 test.db 的数据库)
conn = sqlite3.connect('test.db')
# 创建一个游标对象
cursor = conn.cursor()
# 执行SQL查询语句
cursor.execute("SELECT * FROM users")
# 检索所有行
rows = cursor.fetchall()
# 打印每一行
for row in rows:
    print(row)
# 关闭连接
conn.close()

文件的写入操作

1、写入文本文件
# 写入文件
with open('test.txt', 'w') as file:
    file.write("Hello,my name is abc.")
2、写入CSV文件
import csv
data = [['1', '2', '3'],
        ['4', '5', '6'],
        ['7', '8', '9']]
 
with open('test.csv', 'w', newline='') as csvfile:
    csv_writer = csv.writer(csvfile)
    csv_writer.writerows(data)
3、写入Excel文件
#例如绘制表头
sheet.write(0, 0, '学号')#指定位置写入数据
sheet.write(0, 1, '姓名')
sheet.write(0, 2, '性别')
4、写入Word文件
f = open("test.docx", "w+")
for i in range(0, 5):
    f.write("华中农业大学"+str(i+1)+'\n')

f.close()
5、写入数据库
import sqlite3
# 连接到SQLite数据库(假设有一个名为 test.db 的数据库)
conn = sqlite3.connect('test.db')
# 创建一个游标对象
cursor = conn.cursor()
# 执行SQL插入语句
cursor.execute("INSERT INTO users (name, age, occupation) VALUES (?, ?, ?)", ('abc', 19, 'Student'))
# 提交更改
conn.commit()
# 关闭连接
conn.close()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值