Python|读写文件
Author:AXYZdong
自动化专业 工科男
有一点思考,有一点想法,有一点理性!
定个小小目标,努力成为习惯!在最美的年华遇见更好的自己!
更多精彩文章前往:👉 个人主页
一、文件与文件路径
文件的两个关键属性:文件名 和 路径(表示文件在计算机上的位置)
Windows 上,路径的书写使用倒斜杠 \
作为文件夹之间的分隔符
OS X 和 Linux 上,使用正斜杠 /
作为路径的分隔符。
当前工作目录
每个运行在计算机上的程序,都有一个“当前工作目录”,或 cwd。没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。os.getcwd() 函数获取当前工作路径的字符串,可以利用 os.chdir() 改变它。
绝对路径与相对路径
绝对路径:总是从根文件夹开始。
相对路径:相对于程序的当前工作目录。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A2XnlIQi-1640346267893)(C:\Users\24144\AppData\Roaming\Typora\typora-user-images\image-20211224103612943.png)]](https://img-blog.csdnimg.cn/f08272eb74c7438c97d8e921d01dbc4c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQVhZWmRvbmc=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center =500x)用 os.makedirs() 创建新文件夹
os.makedirs('.\\read1')
:相对路径,表示在当前工作目录下创建 read1 文件夹。
os.makedirs('D:\\Python study\\read2')
:绝对路径,在 D 盘的 Python Study 文件夹下创建 read2 文件夹。
为了确保完整路径名存在,如果中间文件夹不存在,os.makedirs()将创建所有必要的中间文件夹。
os.path 模块
os.path 模块包含了许多与文件名和文件路径相关的有用函数。os.path 是 os 模块中的模块,import os 就可以导入它。os.path 模块的完整文档:http://docs.python.org/3/library/os.path.html 。
处理绝对(absolute)路径和相对(relative)路径
os.path.abspath(path)
返回参数的绝对路径的字符串,便于相对路径转换为绝对路径。os.path.isabs(path)
判断参数是否是一个绝对路径,如果是则返回 True,否则返回 False。os.path.relpath(path,start)
将返回从 start 到 path 的相对路径的字符串,若没有提供 start ,就默认当前工作目录作为开始路径。os.path.dirname(path)
将返回一个字符串,包含 path 参数中最后一个斜杠之前的所有内容。(即返回目录名称)os.path.basename(path)
将返回一个字符串,包含 path 参数中最后一个斜杠之后的所有内容。(即返回基本名称)os.path.split(path)
同时返回一个路径的目录名称和基本名称,获得包含这两个字符串的元组。
查看文件大小和文件夹内容
os.path.getsize(path)
返回 path 路径下的文件夹大小。os.listdir(path)
返回 path 路径下文件名字符串的列表。
检查路径的有效性
os.path.exists(path) 判断 path 参数所指定的文件或者文件夹是否存在,如果存在则返回 True,否则返回 False。
os.path.isfile(path) 判断 path 参数是否是一个文件,如果是则返回 True,否则返回 False。
os.path.isdir(path) 判断 path 参数是否是一个文件夹,如果是则返回 True,否则返回 False。
利用 os.path.exists() 函数 可以确定 DVD 或者闪盘当前是否连在计算机上。 (我当前电脑上是没有 F 盘的)
二、文件读写过程
纯文本文件
:只包含基本文本字符,不包含字体、大小和颜色信息。如:带有 .txt 扩展名的文本文件,带有 .py 扩展名的 Python 脚本文件。
读写文件的三个步骤:
调用 open() 函数,返回一个 File 对象。
调用 File 对象的 read() 或 write() 方法。
调用 File 对象的 close() 方法,关闭该文件。
在当前目录下创建 one.txt 文本文件,并先后写入 Hello world!和 my name is axyzdong。
三、用 shelve 模块保存变量
使用 shelve 模块将 Python 程序中的变量保存到二进制的 shelf 文件中。
步骤:
import shelve
调用函数 shelve.open() 并传入一个文件名,然后将返回值(shelf 值)保存在一个变量中。(可以对这个变量的 shelf 值进行修改,就像字典一样)
在返回的对象中调用 close() 方法
shelve.open() 打开的文件默认既能读又能写,和字典一样 shelf 值有 keys() 和 values() 方法,返回 shelf 中的键和键值。
四、用 pprint.pformat() 函数保存变量,并写入 .py 文件
使用场合:假设有一个字典,保存在一个变量中,你希望保存这个变量和它的内容,这时就可以使用 pprint.pformat() 函数来保存这个变量,并将它写入 .py 文件。这个文件将变成一个模块,可以在需要的时候调用它。
这样,当前工作目录下就会有一个 characters.py 文件,里面只包含 一行代码 characters = {'one': 'a', 'two': 'b'}
创建一个 .py
文件的好处在于,.py
文件是一个文本文件,任何人都可以使用简单的文本编辑器读取和修改该文件的内容。
参考文献
[1]:Python 编程快速上手:让繁琐工作自动化/ (美)斯维加特(A1 Sweigart) 著;王海鹏译.北京:人民邮电出版社,2016.7
本次的分享就到这里
如果我的文章对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦!
听说 👉 点赞 👈 的人运气不会太差,每一天都会元气满满呦!^ _ ^
码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了👉 关注 👈我哦!
如果以上内容有任何错误或者不准确的地方,欢迎在下面👇留个言。或者你有更好的想法,欢迎一起交流学习~~~
版权声明: 本文为 InfoQ 作者【AXYZdong】的原创文章。
原文链接:【http://xie.infoq.cn/article/40120e80fcda488d9a28e3e9c】。文章转载请联系作者。
评论