自动化测试必学语言Python——关于文件的操作

发布时间:2024年01月02日

自动化测试必学语言Python——关于文件的操作

1.文件的概念

计算机的文件就是存储在某种长期储存设备上的一段数据,如U盘、硬盘、移动硬盘、光盘等。

文件的作用:将数据长期保存下来,在需要的时候使用

文件的存储方式:文件以二进制的方式保存在磁盘中

2.文件的分类

(1)文本文件

可以用文本编辑器打开的文件,如.txt,.py,.html,.java,.c,.cpp,文本文件最终还是以二进制的方式保存的。

(2)二进制文件

不能使用文本编辑器打开,必须使用专用的软件打开的文件,如Office办公软件的文件,图片,.png,.jpg,音频文件。

3.文件的操作

(1)打开文件

(2)读(将文件内容读入内存)、写文件(将内存内容写入文件)

(3)关闭文件

4.操作文件的函数/方法

(1)open():打开文件,并且返回文件操作对象

(2)read():将文件内容读取到内存

(3)write():将指定内容写入文件

(4)close():关闭文件

# 打开文件
file = open('read.txt', encoding = 'utf-8')
text = file.read()
# 打印文件
print('%s'% text)
print(type(text))
file.close()

5.打开文件的方式

(1)r:以只读方式打开文件,文件的指针将会放在文件的开头,这是默认模式,如果文件不存在报错

(2)w:以只写的方式打开文件,如果文件存在会被覆盖,如果文件不存在,创建新文件

(3)a:以追加方式打开文件,如果文件存在,文件指针将会放在文件的结尾,如果文件不存在创建新文件进行写入

(3)r+:以读写方式打开文件,文件的指针将会放在文件的开头,如果文件不存在,抛出异常

(4)w+:以读写方式打开文件,如果文件存在会被覆盖,如果文件不存在,创建新文件

(5)a+:以读写方式打开文件,如果文件已存在,文件指针将会放在文件的结尾,如果文件不存在将会写入

write()方法只能写入字符串,不能写入列表,是有返回值数据的长度

示例:

# 只读

file=open('read.txt’, ‘r', encoding = 'utf-8')
file.close()

# 只写
file=open('read.txt', 'w', encoding = 'utf-8')
text = file.write('写入文件')
file.close()

# 追加
file=open('read.txt’, ‘a', encoding = 'utf-8')
text = file.write('写入文件')
file.close()

6.按行读取文件内容

read方法默认会把文件的所有内容一次性读取到内存

如果文件太大,对内存的占用会非常严重

redline方法

redline方法可以一次读取一行内容

方法执行后会把文件的指针移动到下一行,准备再次读取

file = open('new.txt', 'r', encoding = 'utf-8')
while True:
    lin_text = file.readline()
    print(lin_text, end='')
    if len(lin_text) == 0:
        break

7.文件操作

(1)重命名文件:os.rename(源文件名,目标文件名)

(2)删除文件:os.remove(文件名 )

(3)目录操作

目录列表:os.listdir(目录名)

创建目录:os.mkdir(目录名)

删除空目录:os.rmdir(目录名)

获取当前目录:os.getcwd()

修改工作目录:os.chdir(目标目录)

判断是否是文件夹:os.path.isdir(文件夹路径)

判断目录/文件是否存在:os.path.exists(目录/文件)

最后

我推荐一个【Python自动化测试交流群:1150305204】,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。助你快速进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

文章来源:https://blog.csdn.net/2301_81692192/article/details/135349211
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。