12.11文件

目录

文件的读写

with语句(上下文管理器)

os常用函数

os.path模块


文件的读写

常用文件打开方式

r只读模式,文件指针将会放在文件开头
w只写模式,如果文件存在,覆盖,且文件指针在文件的开头;如果文件不存在,新建
a只写模式,如果文件存在,追加,且文件指针在文件的开头;如果文件不存在,新建

文件对象常用方法

read([size])从文件中读取size个字节或字符的内容返回,若省略size,则读取到文件末尾,即一次性全部读取
readline()

从文本文件中读取一行内容

readlines()将每一行的内容作为独立的字符串对象,放入一个列表中
write(str)将字符串str内容写入文件中
writelines(s_list)将字符串列表s_list写入文件中,注意不会加换行符
seek(offset)将文件指针移动到offse位置
tell()获取文件指针的位置
flush()将缓冲区的内容写入文件,但不关闭文件
close()将缓冲区的内容写入文件,同时关闭文件,释放文件对象相关资源
file = open('a.txt','r',encoding = 'utf-8')
#print(file.read(2))
#print(file.read())
#print(file.readline())
print(file.readlines())#['hello world\n', 'hello\n', '你好']
file.close()

file = open('c.txt','a')
file.write('你好')
lst = ['java','c++','python']
file.writelines(lst)
file.close()

c.txt文件中

你好你好你好javac++python

file = open('a.txt','r',encoding= 'utf-8')
file.seek(2)
print(file.read())
print(file.tell())
file.close()

with语句(上下文管理器)

with语句可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件正确关闭,以此达到释放资源的目的

例如

with open('a.txt','r') as file:
    print(file.read())

os常用函数

1.操作系统相关的模块

import os
#os模块与操作系统相关的一个模块
os.system('notepad.exe')#打开记事本
os.system('calc.exe')#打开计算器

2.可执行文件

import os
#直接调用可执行文件
os.startfile('D:\\Temp\\xidianketang\\4.4.7\\西电课堂.exe')

3.操作目录相关函数

getcwd()返回当前目录列表
listdir(path)返回指定路径下的文件和目录信息
mkdir(path)创建目录
makedirs(path1/path2/...)创建多级目录
rmdir(path)删除目录
removedirs(path1/path2/...)删除多级目录
chdir(path)将path设置为当前工作目录
import os
print(os.getcwd())#C:\Users\86198\PycharmProjects\pythonProject\chap15

lst = os.listdir('../chap15')
print(lst)
#['a.txt', 'b.txt', 'c.txt', 'demo.py', 'demo1.py', 'demo2.py', 'demo3.py', 'demo4.py', 'demo5.py', 'demo6.py', 'demo7.py', 'demo8.py']
#/一般是根目录,叫从根目录找,叫绝对路径,./ 是当前目录, ../是上一级,是相对于此文件的路径,叫相对路径。

#os.mkdir('newdir')
#os.makedirs('a/b/c')
#os.rmdir('newdir')
#os.removedirs('a/b/c')
os.chdir('C:\\Users\\86198\\PycharmProjects\\pythonProject\\chap15')
print(os.getcwd())

os.path模块

abpath(path)获取文件或目录的绝对路径
exists(path)返回值为布尔值,用于判断文件和目录是否存在
join(path,name)将目录和文件拼接起来
splitext()分离文件和扩展名
basename(path)从目录中获取获取文件名
dirname(path)从一个路径中获取文件目录,不包括文件名
isdir(path)判断是否为路径
import os.path
print(os.path.abspath('demo9.py'))#C:\Users\86198\PycharmProjects\pythonProject\chap15\demo9.py
print(os.path.exists('demo9.py'),os.path.exists('demo19.py'))#True False
print(os.path.join('C:\\pythonProject','demo9.py'))#C:\pythonProject\demo9.py
print(os.path.split('C:\\Users\\86198\\PycharmProjects\\pythonProject\\chap15\\demo9.py'))#('C:\\Users\\86198\\PycharmProjects\\pythonProject\\chap15', 'demo9.py')
print(os.path.splitext('demo9.py'))#('demo9', '.py')
print(os.path.basename('C:\\Users\\86198\\PycharmProjects\\pythonProject\\chap15\\demo9.py'))#demo9.py
print(os.path.dirname('C:\\Users\\86198\\PycharmProjects\\pythonProject\\chap15\\demo9.py'))#C:\Users\86198\PycharmProjects\pythonProject\chap15
print(os.path.isdir('C:\\Users\\86198\\PycharmProjects\\pythonProject\\chap15\\demo9.py'))#False

实例:

获取指定目录下所有py文件

#实例:打印当前目录下所有python文件名
import os
path = os.getcwd()
lst = os.listdir(path)
for filename in lst:
    if filename.endswith('.py'):
        print(filename)

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值