py17_Python 编程基础文件操作

##################################################

目录

活动简介

Python 编程基础文件操作

文本文件和二进制文件

操作文件的固定步骤

Python 操作文件的固定函数

示例交互模式下如何打开操作一个文件

cmd 下利用命令行创建一个文本文件

Python 命令行中打开一个文件

Python 命令行中读取一个文件内容

Python 命令行关闭打开的文件

Python 关于文件指针

Python 中设置 open 函数访问文件方式

以什么方式打开文件

Python 工作目录/命令行中查看创建的默认文件存储路径

使用 write() 写入文件操作示例

使用 readline 方法按行读取大文件示例


##################################################

活动简介

活动地址:CSDN21天学习挑战赛

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰;一个人摸索学习很难坚持,想组团高效学习;想写博客但无从下手,急需写作干货注入能量;热爱写作,愿意让自己成为更好的人…

欢迎参与CSDN学习挑战赛,成为更好的自己,请参考活动中各位优质专栏博主的免费高质量专栏资源(这部分优质资源是活动限时免费开放喔~),按照自身的学习领域和学习进度学习并记录自己的学习过程,或者按照自己的理解发布专栏学习作品!

##################################################

Python 编程基础文件操作

——————————

文本文件和二进制文件

        文本文件本质上还是二进制文件 只不过可以使用文本编辑软件查看内容

        而二进制文件所存储的内容不是让人类直接阅读的

        例如图片文件、音频文件、视频文件等等 均不能使用文本编辑器直接查看

——————————

操作文件的固定步骤

        在计算机中操作文件的步骤非常固定:

打开文件
读写文件
关闭文件

        读取操作就是将文件内容读入内容
        写入操作就是将内存内容写入文件

——————————

Python 操作文件的固定函数

        Python 操作文件一共需要四个函数:
 

open	打开文件 并且返回文件操作对象

read	读操作 将文件内容读取到内容中
write	写操作 将指定内存中的内容写入文件里

close	关闭文件

        open 函数的第一个参数是要打开的文件 文件名是区分大小写的!

        文件存在 返回 文件操作对象
        文件不存在 抛出异常

        其中 read、write、close 三个方法都需要对象来调用

        read 方法可以一次性读入并返回文件的所有内容

        read 方法执行后会把 文件指针 移动到 文件末尾 位置

        close 方法负责关闭文件

        如果忘记关闭文件 会造成系统资源消耗 而后影响到后续对文件的访问操作

——————————

示例交互模式下如何打开操作一个文件

%%%%%

cmd 下利用命令行创建一个文本文件

        先打开一个命令行:

cmd

        进入 D 盘根目录 创建一个测试文件:

Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。

C:\Users\byme>d:    /* 将当前目录切换到 D 盘根目录下 */

D:\>dir test.py    /* 看看有没有测试文件 test.py */
 驱动器 D 中的卷是 Work
 卷的序列号是 000D-8D77

 D:\ 的目录

找不到文件

D:\>echo .> test.py    /* 创建一个空文件 test.py */

D:\>dir test.py    /* 再次查看有没有测试文件 test.py */
 驱动器 D 中的卷是 Work
 卷的序列号是 000D-8D77

 D:\ 的目录

2022/08/18  07:22                 3 test.py
               1 个文件              3 字节
               0 个目录  6,143,684,608 可用字节

D:\>type test.py    /* 查看 test.py 文件内容 */


D:\>

%%%%%

Python 命令行中打开一个文件

        需要注意的是路径的分隔符号 如果真实路径为:

D:\test.py

        则需要转义一下 \ 符:

D:\\test.py

        示例打开文件 D:\test.py 而 file_1 是存储的文件对象名:

D:\>python
Python 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> file_1 = open ( "D:\\test.py" )
>>> 

%%%%%

Python 命令行中读取一个文件内容

        示例调用 file_1 文件对象的 read 函数读取文件内容

        读取的文件内容存储在 test_1 变量中

        这边因为文件内容是空的所以读取也为空:

>>> text_1 = file_1.read()
>>> print ( text_1 )

>>> 

        再次打开一个 cmd 命令行 在指定文件中输入内容:

Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。

C:\Users\byme>echo "崽崽 5211314 !" >> D:\test.py

C:\Users\byme>type D:\test.py

"崽崽 5211314 !"

C:\Users\byme>

        或者退出 Python 之后直接打开该文件输入内容:

输入内容

        如果没有退出或者关闭 Python 操作的文件 保存时会提示无法存储 因为此时文件受到 Python 保护

        再次读取文件内容:

D:\>python
Python 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> file_1 = open("D:\\test.py")
>>> text_1 = file_1.read()
>>> print( text_1 )

"崽崽 5211314 !"

dsfjuefjfefjhejf额发顺丰发色
98放-乳房;‘23-2=d'a~320ri32!分iktfgjm-0g
>>> 

%%%%%

Python 命令行关闭打开的文件

        示例关闭上面打开的文件:

D:\>python
Python 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> file_1 = open("D:\\test.py")
>>> text_1 = file_1.read()
>>> file_1.close()
>>> 

        我们编写代码操作文件时通常都是先编写打开和关闭的代码 再编写中间针对文件的读写操作!

%%%%%

Python 关于文件指针

        关于文件指针:

        文件指针标记从哪个位置开始读取数据

        第一次打开文件时通常文件指针对指向文件的开始位置

        当执行了 read 方法后文件指针会移动到读取内容的末尾

        默认情况下会移动到文件末尾

        当执行了一次 read 方法读取了所有内容之后 再次调用 read 方法是不会读取到任何的内容的……

        因为文件指针已经移动到了文件末尾!!!

——————————

Python 中设置 open 函数访问文件方式

%%%%%

以什么方式打开文件

        open 函数默认以 只读方式 打开文件且返回文件对象

        设置访问方式语法:

f = open("文件名", "访问方式")

        访问方式如下:

r	只读模式	以只读方式打开文件 文件指针在文件开头 这是默认模式 如果文件不存在则抛出异常
w	只写模式	以只写方式打开文件 如果文件存在则会被覆盖 如果文件不存在则创建新文件
a	追加方式	以追加方式打开文件 如果文件已存在 文件指针将会移动到文件末尾 如果文件不存在 则创建新文件进行写入
r+	读写模式	以读写方式打开文件 文件指针将会放在文件的开头 如果文件不存在 则抛出异常
w+	读写模式	以读写方式打开文件 如果文件已存在会被覆盖 如果文件不存在 则会创建新文件
a+	读写模式	以读写方式打开文件 如果文件已存在 文件指针将会放在文件的结尾 如果文件不存则创建新文件进行写入

        需要注意:

        频繁的移动文件指针会影响文件的读写效率 开发中更多的情况我们只会以 只读/只写 方式来操作文件

%%%%%

Python 工作目录/命令行中查看创建的默认文件存储路径

        使用 os 模块中的 getcwd() 这个函数来返回默认存储路径

        如果未指定路径 则在此处保存文件:

D:\>python
Python 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print(os.getcwd())
D:\
>>> 

        我这边创建的文件默认保存在 D 盘根目录下!

%%%%%

使用 write() 写入文件操作示例

        示例新建打开一个文件 写入信息 关闭文件 然后再查看文件内容:

D:\>type Python_1.py    # 查看文件内容发现文件不存在
系统找不到指定的文件。

D:\>python
Python 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> file_1 = open("Python_1.py", "w")    # 以只写方式打开文件
>>> file_1.write( "你好,Python!\n" )    # 写入信息
11
>>> file_1.write("好你妈\n我一点都不好好吗!!!")    # 写入信息
15
>>> file_1.close()    # 关闭文件
>>> quit()    # 退出 Python 命令行

D:\>type Python_1.py    # 再次查看文件内容
你好,Python!
好你妈
我一点都不好好吗!!!
D:\>

%%%%%

使用 readline 方法按行读取大文件示例

        按行读取文件内容

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

        这种情况下如果读取大文件对内容的占用会非常严重!

        而 readline 方法可以一次读取一行内容

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

        读取大文件的正确姿势 VSCode code:

file = open ( "D:\\Python_1.py" )   # 打开指定文件 D:\Python_1.py

while True:
    # 死循环

    text = file.readline()  # 读取一行内容

    if not text:
    # 判断是否读到内容 如果没有读取到内容就退出!
        break

    print ( text, end = "" )    # 输出读取该行信息 不换行驶因为每读取一行的末尾已经有了一个 `\n` 换行符

file.close()    # 关闭文件
print ( "\n\n文件读取结束.." )

        VSCode demo:

Windows PowerShell
版权所有 (C) 2014 Microsoft Corporation。保留所有权利。

PS C:\Users\byme> python -u "e:\PY\test.py"
你好,Python!
好你妈
我一点都不好好吗!!!

文件读取结束..
PS C:\Users\byme> 

VSCode code/demo

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燃吹

呜呜呜没钱钱吃饭了……

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值