python file对象测试数据的读写操作及OS模块介绍(四)
import from....import 引入模块 引入类
①import
如果文件在lib下而且是python模块 :import 模块名。
②from....import
from 包名.包名.....from 模块名/函数名 一层一层引用,不能使用模块名.函数名
1.若要调用模块内部的函数:模块名.函数名().
2.若引用包下面的模块:import 包名.模块名,
file 对象测试数据的读写与操作
OS模块介绍
Python里面的OS模块有许多方法,通过代码实现创建、删除和更改目录操作如下:
一、针对路径
①获取当前的目录路径及文件的路径
os.getcwd():getcwd()方法显示当前的工作路径,只具体到路径,不具体到文件。
os.path.realpath(path);返回path的真实路径如果参数是:__file__就说明是本文件所在的绝对路径。
例子
import os
path=os.getcwd() #获取当前模块的目录
print(path)
path2=os.path.realpath(__file__) #获取当前文件的绝对路径
print(path2)
结果
D:\python\FramWork\20190928_basic
D:\python\FramWork\20190928_basic\lesson_Four file.py
区别:前者定位到文件目录,或者定位到文件
②只针对文件夹(目录),删除,创建新目录
os.mkdir(路径名字):在某个目录下创建一个新目录,确保它的上级要存在。
os.rmdir(路径名字):删掉一个目录,只能删除空目录。
os.listdir():获取当前路径下的目录列表。返回列表格式数据。
③路径的拼接
1.利用字符串的拼接
例子
import os
path=os.getcwd() #获取当前模块的目录
new_path=path+"\\test" #字符串拼接
os.mkdir(new_path) #创建新目录
print(new_path) #打印
结果:
D:\python\FramWork\20190928_basic\test
2.os.path.join(a,b):连接两个部分的路径,组成一个完整的路径。
例子:
import os
path=os.getcwd() #获取当前模块的目录
new_path=os.path.join(path,"test","test2") #字符串拼接,创建test2 时test必须存在,同理删除目录时也需要先删除test2
os.mkdir(new_path) #创建新目录
print(new_path) #打印
结果 D:\python\FramWork\20190928_basic\test\test2
④判断文件的类型返回布尔值
os.path.isdir:判断当前文件是否是目录。返回布尔值。
os.path.isfile:判断当前文件是否是文件,返回布尔值
例如:
print(os.path.isfile(os.getcwd())) 结果 False
print(os.path.isdir(os.getcwd())) 结果 True
⑤切割split,放回元组类型的数据,只切割最后一级,切割时按照\来切割
os.path.solit(当前目录或文件)
例如
res=os.path.split(os.getcwd())
print('切割路径之后的值是:{0}'.format(res))
结果 切割路径之后的值是:('D:\\python\\FramWork', '20190928_basic')
res=os.path.split(os.path.realpath(__file__))
print('切割路径之后的值是:{0}'.format(res))
结果 切割路径之后的值是:('D:\\python\\FramWork\\20190928_basic', 'lesson_Four file.py')
二、针对txt(三种方式)
A.read()方法
1) read(count)方法从一个打开的文件中读取一个字符串。
2) 里面传递要读取的字节数
3) 如果不传递默认读取全部数据
4) 读完之后,指针会定位到读完之后的位置
readline()#每次读取一行数据 readlines()#按行读取数据,返回列表类型数据
例子
file=open("test.txt",'r')
res=file.readline()
print(res)
结果 Easy come, easy go.
例如
file=open("test.txt",'r')
res=file.readlines()
print(res)
结果 ['Easy come, easy go.\n', 'An hour in the morning is worth two in the evening.']
B.write()方法:
write()方法可将任何字符串写入一个打开的文件。
注意:write()方法不会在字符串的结尾添加换行符(“\n”),所以无法实现自动换行。
writelines():里面传入你要写的列表内容,可以写入多行!
①r只读 文件必须存在
file=open("test.txt",'r')
r+支持读写
例如:
file=open("test.txt",'r+')
res=file.write("Easy come, easy go.") #写入到test文件中
②w只写如果存在就直接写不存在就新建一个文件再去写内容,清空文件再写
w+ 读写如果存在就直接写不存在就新建一个文件再去写内容
③a追加 append 如果存在就直接写不存在就新建一个文件再去写内容。直接追加在后面。
a+ 在原有内容上写内容
1)针对文件的读取
res=file.read()#默认读取所有的内容
读取指定长度的内容
res=file.read(2)
print(“读取到的内容是:{0}”.formate(res))
2)写入内容到文件中。先读后写,只写位置与光标有关,解决中文乱码问题file=open("test.txt",'r+',encoding=’utf-8’)
file.write(“写入的内容”)
④文件定位 seek(offset[,from])方法改变当前文件的位置,Offset变量表示要移动的字节数,from变量指定开始移动字节的参考位置。0头部,1当前位置,2尾部.
python file对象测试数据的读写操作及OS模块介绍(四)的更多相关文章
- Python中json的简单读写操作
Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...
- 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容
孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...
- Python的路径操作(os模块与pathlib模块)
Python的路径操作(os模块与pathlib模块) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.os.path模块(Python 3.4版本之前推荐使用该模块) #!/u ...
- python中 对文件的读写操作 以及如何边写入 边保存flush()
转自:https://blog.csdn.net/t8116189520/article/details/78854708 首先 python中打开文件大致常用的几类如下: 1.写入文件write # ...
- python学习(11)文件的读写操作
1.读文件的7种操作模式 操作模式 具体含义 'r' 读取 (默认) 'w' 写入(会先截断之前的内容) 'x' 写入,如果文件已经存在会产生异常 'a' 追加,将内容写入到已有文件的末尾 'b' 二 ...
- python文件操作及os模块常用命令
1.文件打开 文件句柄 = open('文件路径', '模式') 2.文件操作 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 三种基本 ...
- Python进阶5---StringIO和BytesIO、路径操作、OS模块、shutil模块
StringIO StringIO操作 BytesIO BytesIO操作 file-like对象 路径操作 路径操作模块 3.4版本之前:os.path模块 3.4版本开始 建议使用pathlib模 ...
- 31、Python程序中的协程操作(greenlet\gevent模块)
一.协程介绍 协程:是单线程下的并发,又称微线程,纤程.英文名Coroutine.一句话说明什么是协程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的. 对比操作系统控制线程的切换,用 ...
- (原创)Python文件与文件系统系列(2)——os模块对文件、文件系统操作的支持
os模块的功能主要包括文件系统部分和进程管理部分,这里介绍其中与文件系统相关的部分. 当请求操作系统执行操作失败时,os模块抛出内置异常 exceptions.OSError 的实例,可以通过 os. ...
随机推荐
- flask 框架快速入门
flask 框架快速入门 搭建一个简易flask项目 首先使用 Pycharm创建flask项目 运行flask项目 1.使用Pycharm搭建flask项目 (如果Pycharm新建项目中未出现该图 ...
- python高级 之(五) --- 文件操作
文件操作 """ 在程序中操作的文件内容: 1. 读取文件中的内容 2. 向文件中写入内容 首先: 在程序中与文件建立一个通道,通过通道操作文件指针,达到所要的结果 向文 ...
- MySQL 查看约束,添加约束,删除约束 添加列,修改列,删除列
查看表的字段信息:desc 表名; 查看表的所有信息:show create table 表名; 添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) ...
- mysql——修改表名、修改字段名、修改字段数据类型、增加字段、删除字段、修改字段排列位置、修改存储引擎、删除表 (示例)
一.创建表和插入数据: ), mz ), bz ) ); ,'sww','sww01'); ,'aww','aww02'); ,'qww','qww03'), (,'eww','eww04'), (, ...
- springboot 极简使用例子: redis,MySql数据库,日志,netty,打包和运行
配置 创建项目的时候选择 application.yml内容如下 spring: redis: host: 127.0.0.1 port: 6379 database: 0 datasource: d ...
- python 爬虫 目录
爬虫 介绍 python 爬虫 urllib模块 python 爬虫 requests模块
- nginx一些高级配置
参数: https://www.wangbokun.com/%E8%BF%90%E7%BB%B4/2018/07/21/Nginx.html 免费证书等 1/ nginx代理hue限制上传文件大小 ...
- 在.Net中使用RedLock实现分布式锁
⒈简介 RedLock 分布式锁算法由 Redis 的作者提出,大部分语言都有对应的实现,查看,RedLock.net 是 RedLock 分布式锁算法的 .NET 版实现,用来解决分布式下的并发问题 ...
- P1004方格取数
这是提高组得一道动态规划题,也是学习y氏思考法的第一道题. 题意为给定一个矩阵,里面存有一些数,你从左上角开始走到右下角,另一个人从右下角开始走到左上角,使得两个人取数之和最大,当然一个数只可以取走一 ...
- python-day9(正式学习)
目录 深浅拷贝 拷贝 浅拷贝 深拷贝 异常处理 什么是异常 语法错误 逻辑错误 异常的种类 常用的异常 其他异常 异常处理 提前预防 事后预防 抛出异常(基本没用) 断言(调试用,现在基本上没用) 文 ...