零基础学习python第11课笔记

文件的打开与关闭

相对路径 open # ----------同级-----.用点
# open----------------不同级-----上一级----..用两点
file_open = open('.点(文件)')同级目录
file_open = open('../') 上级目录




绝对路径 # ----Copy ---Copy path...---选第一个就是绝对路径

打开文件---- # open(打开的文件open, 操作的方式'r', encoding编码指定)



操作文件
print(file_open.read(4)) # 读取文件
print(len(file_open.read(4))) # 查看读取文件的长度



关闭文件close()
 print(file_open.close()) # 关闭文件

文件访问模式

r # 只读方式打开文件

file_open = open('.点(文件)', 'r', encoding='utf8')   # 这里是以打开文件.(文件)

file_1 = file_open.read() # 读取指定内容,也可以不填默认读取全部数据


a # 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
file = open('zheng.txt', 'a', encoding='utf8') # 打开文件,读写文件追加模式,编码格式

file.write('我爱小玉')


w 写入
file_open = open('.点(路径)', 'w', encoding='utf8')  # w写入数据,覆盖原有数据,如果该文件不存在,创建新文件。

file_1 =file_open.write() # 括号里填入你要写入的数据,只能写入str类型


r+
file_open = open('.', 'r+', encoding='utf8') # 打开一个文件用于读写。文件指针将会放在文件的开头。
file = open('zheng.txt', 'r+', encoding='utf8')# 打开文件,读写文件,文件指针放在开头,编码格式
file.write('我爱小玉') # 写入文件


w+w # 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。


a+ # 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
file = open('zheng.txt', 'a+', encoding='utf8')
# print(file.readlines()) 打开文件,读写文件追加模式,编码格式

file.write('我爱小玉') 写入文件



rb+ # 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。  读取时是不能加encoding编码格式的,否则报仇报错


wb+ # 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。


ab+ # 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

读取写入文件相关操作

tell # 获取游标位置
print(file_open.tell()) # 获取游标


seek # 调整游标位置
file_open.seek(0)   # 调整游标到指定位置开始读取数据 

print(file_open.read()) # 读取数据,游标不能读取前面的数据,要用seek调整游标到前面才能读取。

flush() # 立即刷新缓冲区域(手动保存),即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。
# 刷新数据,有时文件不是立刻写入,此时数据在缓存区,此时它可以去刷新缓存区,将数据写入文件内
# 一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。

close() # 关闭文件 

read() # 读取指定数量内容,默认读取所有
file = open('zheng.txt', 'r', encoding='utf8')# 打开文件,读取文件,编码格式
print(file.read()) # 打印读取

readline() # 读取一行的内容
file = open('zheng.txt', 'r', encoding='utf8')# 打开文件,读取文件,编码格式
print(file.readline()) # 打印读取


# 一个汉字是有两个二进制位的

readlines() # 指定读取,默认读取全部内容,并以列表形式返回。
file = open('zheng.txt', 'r', encoding='utf8') # 打开文件,读取文件,编码格式
print(file.readlines()) # 打印读取


writelines() # 写入多行内容

seek坑点

seek(offset, from)
在文本文件中,没有使用b模式选项打开的文件,只允许从文件开头开始计算相对位置,从文件尾计算时就会引发异常
# offset是偏移量
#  from 0代表从文件开头位置开始偏移,1代表从当前位置开始偏移,2代表从末尾开始偏移。123456789 # 二进制位数
seek(4, 0) # 表示从开头偏移,偏移到4后面
seek(4, 1) # 表示从当前位置4开始,偏移到8后面
seek(42) # 表示从末尾开始偏移,偏移4个单位

os模块的目录及文件操作

# os 模块是内置模块
import os
print(os.getcwd())  # 显示当前路径

print(os.getcwd()) #显示当前路径

print(os.listdir()) #展示当前目录内容,也可以指定查看同级的目录信息。

print(os.chdir)  #改变当前路径

print(os.mkdir('wixy')) # 创建目录文件夹,但是当文件夹存在时无法创建该文件。

print(os.rmdir('wixy')) # 删除指定路径目录,仅当这文件夹是空的才可以,否则,抛出OSError

print(os.system('tree')) # 系统命令执行 cd是一个记录小文件的命令 tree 显示系统结构

print(os.rename('old', 'new')) # 重命名目录或文件 old是要命名的文件或目录,new是写下你要命名的名称

os.path模块操作

print(os.path.join('zwm1', 'zwn.txt')) # 把文件目录和文件合成一个路径

print(os.path.basename('zwm.txt')) # 返回文件名

print(os.path.abspath('zwm.txt')) # 返回绝对路径

print(os.path.relpath()) # path位置相对start的相对路径(相对路径)

print(os.path.getsize('zwm.txt')) # 返回文件大小

print(os.path.getctime('zwm.txt')) # 返回文件 path 创建时间

print(os.path.getmtime('zwm.txt')) # 返回文件修改时间

print(os.path.getatime('zwm.txt')) # 返回文件访问时间

print(os.path.exists('zwm.txt')) # 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。

print(os.path.isdir('..\zwm1')) # 判断路径是否为目录

print(os.path.isfile('zwm.txt')) # 判断路径是否为文件

print(os.path.isabs('zwm\zwm.txt')) # 判断是否为绝对路径

上下文管理器

with open() as file: # as是用来名别名,file是变量接收,通过它打开文件执行操作
    # 通过with可以同时操作多个文件。
例:
with open('zwm.txt', 'w', encoding='utf8') as file,\
    open('zwm1.txt', 'w', encoding='utf8') as file1,\
    open('zwm2.txt', 'w', encoding='utf8') as file2,\
    open('zwm3.txt', 'w', encoding='utf8') as file3:
    file.write('wixy')
    file1.write('wixy')
    file2.write('wixy')
    file3.write('wixy')

导自定义函数路径问题

import sys # 查看能导包的路径
print(sys.path())
from z.z import name # 从z文件夹里导入z文件,name是z文件变量名
print(name)

sys.path.append() # 添加导包路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值