1、open(‘文件’,‘open状态参数’)
open 打开一个文件
open(‘b.txt’,‘r’) #打开一个文件,‘r’表示只读状态
如果文件不存在,则会报错
#路径 相对路径/绝对路径/网络路径
相对路径
上一级 …/+文件名
同层级(可以直接一起看到,直接写文件名或者./+文件名)
下层级/+文件名
open(‘test/c.txt’) #下一层级
open(‘test/be/e.txt’) #下一层级的下一层级
open(’…/b.tet) #上一层级
open(’…/…/b.txt’) #上一层级的上一层级
绝对路径 从磁盘开始 属性直接可以看到路径 绝对路径加r,防止转义
open(r‘C:\Users\Administrator\Desktop\b.txt’)
open的状态参数
r 只读
w 写入 当文件不存在时,会创建文件 先清空再写入
f=open(‘c,txt’,‘w’)
f表示当前c.txt文件
write() 写入 不可以读取
单行的写入:f.write(‘hello’)
多行的写入:f.writelines(’’)
flush() 保存的操作
f.flush()
f=open(‘c.txt’,‘w’)
f.write([‘hello’,’\npython’,‘this is python’])
f,flush()
f.close() #关闭文件并且保存文件
Print(f.closed) #closed 检查文件是否被关闭 关闭返回True 反之返回false
#a 写入模式,文件不存在时,会创建文件
追加内容,不会清空前面的内容,不可以读取内容
#读取模式 r
read() 读取全部
f=open(‘d.txt’,‘r’)
Print(f.read())
readlines() 读取全部,分行读取,以列表的形式返回
#+ 可读可写,不能单独使用,与其他的配套进行使用,比如r+,w+,a+(一般用a+模式)等等,这些都是可读可写的操作
#tell() 查看光标的位置
#seek() 调整光标的位置
f.seek(0) 调整光标的位置为0
f.tell()
print(f.tell())
#b 二进制模式 图片、音频、视频都是以二进制的方式保存的 与a+,r+,w+进行联合使用
f=open(‘c.txt’,‘ab+’) 以二进制的方式追加读写
f.write(b’hello’)
f.flush()
f.seek(0)
print(f.read())
f.close()
f=open(‘d.txt’,‘r+’,'encoding=‘utf-8’)这个utf-8只能在r+,a+,w+的模式下使用,因为二进制的情况下无编码格式
#with open 自带保存和关闭
#as 取别名
with open(‘b.txt’,‘a+’) as f :
#记得缩进f.write(‘你好啊,今天你吃了吗?’)
#文件流,在内存当中去创建一个临时的假文件,实现快速的读取,以文本的方式写入
#getvalue() 读取内容,不需要调光标
import io #用来创建临时的假文件
string=io.StringIO() #接收一个文件流模式
string.write(‘您好’)
string.seek(0) # 临时的假文件不需要保存
print(string.read())
string=io.StringIO()
string.write(‘您好’)
print(string.getvalue())
#字节流 在内存当中去创建一个临时的假文件,实现快速的读取,以二进制的方式写入
import io
bytess=io.BytessIO() #接收一个字节流文件
bytess.write(b’您好’) 以二进制的方式写入
print(bytess.getvalue())
#文件目录操作
Import os #关于文件的模块
os.mkdir(‘test’) 以相对路径创建一个文件夹
#os.mkdir(‘test’) 创建文件夹 指定
#os.rmdir(‘test’) 删除文件夹 指定
#os.makedirs(‘test/北斗/南斗’) #创建多层文件夹
#os.removedirs(‘test/北斗/南斗’) #删除多层文件夹
#os.rename(‘test’,‘北斗’) #文件的重命名,第一个为旧文件名,第二个为新文件名
#path.join
os.path.join(‘北斗\cc’,‘test’) #路径的拼接
北斗\cc\test 第一个为指定的路径,第二个为拼接的路径
a=os.path.join(‘北斗’,‘cc’)
os.makedirs(a) #创建一个指定的路径
os.system(‘cmd’) #调用系统命令
os.system(‘python’)
os.remove(‘c.txt’) #删除文件
os.getcwd() #打印文件路径
print(os.getcwd()) #打印文件路径
os.listdir() #打印指定文件路径
os.listdir(r’C:\Users\Administrator\Desktop\北斗’) 这里用绝对路径
print(list(os.walk(‘北斗’)) #通过walk打印北斗下存在的文件(打印文件里面的全部文件)
模块的使用 模块本质就是一个py文件
import b
b.func()
包:放了很多模块的一个文件夹
导入包
from datetime(包) import datetime (模块)
import datetime
datetime.datetime.now() #从包里面找模块,模块里面找方法
from datetime import datetime as dd #as取别名
a=dd.now() #包、模块、方法
print(a)
import sys #查找可以导入的模块的路径
print(sys.path)
#添加导入模块的路径
import sys
sys.path.append(r’C:\Users\Administrator\Desktop\北斗’)