标签:pen class encoding nes 没有 编码格式 打开 空格 原来
# 1. 文件操作
# 一个函数: open()函数,创建一个文件对象
# 三个方法:read/write/close
# 2.open()函数
# 默认以只读方式r打开文件,并返回文件对象
# open(filename, mode) filename文件名 mode访问模式
# 2.1 打开文件
# file = open(‘jiuge.txt‘)
# print(file)
# 文件对象属性:
# file.name: 返回文件名
# file.mode: 返回打开文件的访问模式
# file.closed: 如果文件已被关闭,返回True
# print(file.name)
# print(file.mode)
# print(file.closed) # False
# 3.read/write/close
# read: 将文件内容读取出来
# write:写入文件
# close:关闭文件
# 3.1 打开文件
# file = open(‘jiuge.txt‘) # 默认只读方式,文件不存在不能创建
# 2.读取文件内容
# print(file.read())
# file.write(‘456‘) # 1.写入的时候,内容必须是str 2.只读方式不能写入
# 3.关闭文件(一定要记得关闭文件)
# file.close()
# print(file.closed) # True
# 4.绝对路径
# 怎么找到路径?
# 找到对应的文件---鼠标右键-- copy path -- 粘贴
# file = open(‘D:\\12pytest\\19单例模式\jiuge.txt‘)
# print(file.read())
# file.close()
# 5. read方法
# 执行了一次read方法,读取所有内容
# read(num) 可以从文件中读取数据,num代表要从文件中读取数据的长度
# f = open(‘jiuge.txt‘)
# print(f.read(4)) # 最多读取4个数据
# f.close()
# 6. 访问模式
# r: 只读(默认), 文件必须存在
# w: 只写, 不可读; 不存在则创建,存在则删除文件内容
# a: 追加, 可读, 不存在则创建,存在则追加内容
# +: 表示可以同时读写某个文件
# r+: 可读写文件,可追加
# w+: 先写再读
# rb 以二进制格式打开一个文件用于只读
# wb 以二进制格式往文件中写入
# 打开文件
# f = open(‘we.txt‘, ‘r+‘)
# # 读取文件
# print(‘原来的文件内容:‘, f.read())
# # 写入内容
# f.write(‘hello‘) # 写入后,文件内容变成:pythonhello
# # 关闭文件
# f.close()
# 7.with 关键字
# 离开with代码块的时候,系统会自动的调用close()方法
# 异常
# f = open(‘we.txt‘)
# try:
# print(f.read())
# # f.write(‘123‘)
# except:
# print(‘出错了‘)
#
# # 不管有没有异常,finally都会执行
# finally:
# f.close()
# 加上with
with open(‘we.txt‘) as file:
print(file.read())
print(file.closed)
# 1.其他方法
# 1.1 tell() 查看文件内的当前位置
# 1.2 seek() 改变当前文件的位置
# seek(offset, from) offset表示移动的字节数 from指定开始移动字节的参考位置
# seek(0, 0) 把指针重新定位到文件开头
# from:0 将文件开头作为参考位置
# from: 1 将当前位置作为参考位置
# from: 2 将文件末尾作为参考位置
# with open(‘we.txt‘) as f:
# print(‘第一次读取到的内容:‘, f.read(5))
# print(‘第二次:‘, f.read(4))
# 文件指针:
# 1.文件指针标记从哪个位置开始读取数据
# 2.第一次打开文件时,文件指针会指向文件的开始位置
# 3.执行了read方法后,会移动到内容的末尾
# 打开文件
# f = open(‘we.txt‘)
# # 读取文件
# print(‘第一次读取到的:‘, f.read(8))
# # 查看当前位置
# pos = f.tell()
# print(‘当前文件位置:‘, pos) # 8
# # 重新定位
# f.seek(0, 0)
# # 第二次查看文件位置
# print(‘第二次文件位置:‘, f.tell())
# # pos2 = f.tell()
# # print(‘第二次文件位置:‘, pos2)
# # 关闭文件
# f.close()
# 2. 编码格式
# encoding表示编码集
# with open(‘test.txt‘, ‘w‘, encoding=‘utf-8‘) as f:
# f.write(‘我的车轮飞起来了‘)
# 读取二进制文件:图片、视频
# 开头的b表示这是一个bytes类型 \xff 是十六进制的表示方式
# with open(‘log.txt‘, ‘wb‘) as f: # wb是二进制方式写入
# f.write(b‘we‘) # 二进制,加个前缀b
#
# with open(‘1.jpg‘, ‘rb‘) as f:
# print(f.read())
# 3.读取操作
# read() 默认一次性读取文件内容
# readline(): 一次读取一行内容
# readlines(): 按照行的方式把整个文件中的内容进行一次性读取,返回是列表,每一行的数据就是一个元素
# with open(‘we.txt‘) as f:
# while True:
# # 读取一行内容
# text = f.readline()
# # 判断是否读取到内容
# if text:
# print(text)
# else:
# break
# with open(‘we.txt‘) as f:
# con = f.readlines()
# print(con)
# print(type(con)) # <class ‘list‘>
# for i in con:
# print(i.strip()) # strip()去除字符串首尾的空格
# 4.目录常用操作
import os # 导入模块
# 文件重命名:os.rename(原名, 新名)
# os.rename(‘log.txt‘, ‘zs.txt‘)
# 删除文件
# os.remove(‘zs.txt‘)
# 创建文件夹
# os.mkdir(‘ls‘)
# 删除文件夹
# os.rmdir(‘ls‘)
# 获取当前目录
# print(os.getcwd())
标签:pen class encoding nes 没有 编码格式 打开 空格 原来
原文地址:https://www.cnblogs.com/Daveb/p/14532544.html