学习笔记-python文件基本操作

1.文件的基本操作
  • open()打开函数
    语法 : open(name,mode)
    name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。
    mode:设置打开文件的模式(访问模式):只读、写入、追加等。
# 打开文件
'''
open(): 如果报FileNotFoundError,文件路径错误或者文件不存在
参数1 ->路径: 相对路径:不以盘符开始的路径 绝对路径:以盘符开始的路劲的路径
参数2 ->模式: 默认r模式:如果文件不存在就会报错 w和a模式:如果文件不存在,会自动创建
参数3   编码: 默认cp936,本质是gbk,一般编码会使用utf8

'''

f = open('w1.txt', mode='a')
print(f)
# 关闭文件
f.close()
  • close()关闭函数
    语法:文件对象.close()
  • read()
    语法:文件对象.read(num)
    num表示要从文件中读取的数据的长度(单位是字符),如果没有传入num,那么就表示读取文件中所有的数据
#  打开文件
f = open('w1.txt',mode='r',encoding='utf8')
# 读取文件
# 一个个读取,指定字符
data = f.read(7)
print(data)
# 读取剩余的字符   .read类似指针,只会继续往下读取
data = f.read()
print(data)
# 关闭文件
f.close()
  • readline() 一次读取一行
  • readlines() 一次读取一行
#  打开文件
f = open('w1.txt', mode='r', encoding='utf8')
# 读取文件
# 一次读取一行
data = f.readline()
print(data)
# 一行行读取剩余的字符  读取的内容默认放在列表中
datas = f.readlines()
print(datas)
for line in datas:
    print(line, end='')
# 关闭文件
f.close()

  • write()
  • writelines()
#  打开文件
f = open('w2.txt', mode='w', encoding='utf8')
# 读取文件
# write 写入
f.write('hello')
f.write('python')
# 结果: hellopython
f.write('hello\npython')
'''
结果:
hello
python
'''
f.writelines('hello')
f.writelines('python')
# 结果: hellopython
# 结论:writeline一行行写入并不会换行,也是继续写入
f.close()

注意:
w模式和a模式:如果文件不存在则创建该文件;如果文件存在,w模式先清空再写入,a模式直接末尾追加。
r模式:如果文件不存在则报错。

2.文件操作综合案例

(1)txt文本文件备份

# 需求 备份txt文档
f1 = open('w1.txt', mode='r', encoding='utf8')
f2 = open('w1[备份].txt', mode='w', encoding='utf8')

# 读写文件
data = f1.read()
f2.write(data)

# 关闭文件
f2.close()
f1.close()

(2).mp4文件备份

# 需求
f1 = open('wdrq.mp4', mode='rb')
f2 = open('wdrq[备份].mp4', mode='wb')
# 视频和图片不需要像文本一样添加编码,不然会报错
# ValueError: binary mode doesn't take an encoding argument 

# 先从f1中读取对象数据
data = f1.read()
# 把读取到的文件写入到备份文件中
f2.write(data)

# 关闭文件
f2.close()
f1.close()


你可能感兴趣的:(python+大数据,python,学习,笔记)