Python全栈之路:文件file常用操作

简介: Python全栈之路:文件file常用操作

文件模式mode

image.png

文件方法method


image.png

image.png

文件属性property

image.png

实例演示

文件操作:打开-操作-关闭


模式mode:

文本

r只读(默认)

w只写(创建新文件,存在则删除,不存在则新建)
a追加(不存在则创建,存在则追加)
“+”表示可以同时读写某个文件
r+读写(追加写,常用此项),w+写读(追加写),a+追加读(同a)
“b”二进制文件(没有encoding参数,网络传输,图片,声音,视频)
rb只读,rw只写,ra追加,rb+读写,rw+读写,ra+读写
“U”表示读取时,\r,\n,\r\n自动换成\n
rU只读
只读(默认)
"""春宫曲.txt
春宫曲
唐代:王昌龄
昨夜风开露井桃,未央前殿月轮高。
平阳歌舞新承宠,帘外春寒赐锦袍。
"""
f = open("春宫曲.txt", encoding="utf-8")  # 文件句柄
print(f.read())  # 读取全部内容
f.close()
"""
报错:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 4: 
illegal multibyte sequence
设置:encoding="utf-8"
"""

只写,原来的内容被清空

f = open("春宫曲.txt", "w", encoding="utf-8")  # 指定编码
poetry = """春宫曲
唐代:王昌龄
昨夜风开露井桃,未央前殿月轮高。
平阳歌舞新承宠,帘外春寒赐锦袍。
"""
f.write(poetry)  # 写入
f.close()

追加

f = open("春宫曲.txt", "a", encoding="utf-8")
f.write("好诗好诗!")  # 在文件末尾追加写入
f.close()

读写文件

f = open("春宫曲.txt", "r+", encoding="utf-8")
#  只适合读取小文件,会转为列表(low loop,不推荐)
for index, line in enumerate(f.readlines()):
    if index == 1:  # 不打印文件第二行
        print("我是分割线".center(30, "*"))
        continue
    print(line.strip())  # 去除两侧空格和换行
f.write("写入内容,不会报错!")
f.close()

读写文件

f = open("春宫曲.txt", "r+", encoding="utf-8")
# high biger,推荐
count = 0  # 计数器
for line in f:  # f是一个迭代器
    count += 1
    if count == 2:  # 如果是第二行
        print("--------")
        continue
    print(line.strip())
f.close()

文件对象方法和属性

f = open("春宫曲.txt", "r+", encoding="utf-8")
print(f.tell())  # 文件指针位置 ->0
print(f.readline())  # ->春宫曲
print(f.tell())  # ->11
f.seek(0)  # 将文件指针移到文件首
print(f.tell())  # ->0
print(f.readline())  # ->春宫曲
print(f.fileno())  # 文件的描述符 ->3
print(type(f))  # -><class '_io.TextIOWrapper'>
print(f.name)  # 文件名 ->春宫曲.txt
print(f.mode)  # 打开模式 ->r+
print(f.closed)  # 是否关闭 ->False
print(f.encoding)  # 文件编码 ->utf-8
print(f.buffer)  # -><_io.BufferedRandom name='春宫曲.txt'>
print(type(f.newlines),f.newlines.encode("utf-8"))  # 文件换行符
# -><class 'str'> b'\r\n'
print(f.isatty())  # 检测文件是否连接到一个终端设备 ->False
f.truncate(10)  # 截断
f.flush()  # 将缓存内容刷入硬盘
# f.write("在增加点内容吧")
f.close()

二进制读写

f = open("春宫曲.txt", "rb+")  # 二进制读写的时候,不能指定编码
print(f.read())  # ->b'\xe6\x98\xa5\xe5\xae\xab\xe6\x9b\xb2\r'
f.write("我爱北京天安门".encode("utf-8"))  # 字符串转为字节再写入
f.close()

小知识

windows命令行下,切换盘符

C:\>d:

目录
打赏
0
0
0
0
58
分享
相关文章
解锁文件共享软件背后基于 Python 的二叉搜索树算法密码
文件共享软件在数字化时代扮演着连接全球用户、促进知识与数据交流的重要角色。二叉搜索树作为一种高效的数据结构,通过有序存储和快速检索文件,极大提升了文件共享平台的性能。它依据文件名或时间戳等关键属性排序,支持高效插入、删除和查找操作,显著优化用户体验。本文还展示了用Python实现的简单二叉搜索树代码,帮助理解其工作原理,并展望了该算法在分布式计算和机器学习领域的未来应用前景。
|
17天前
|
使用Python实现multipart/form-data文件接收的http服务器
至此,使用Python实现一个可以接收 'multipart/form-data' 文件的HTTP服务器的步骤就讲解完毕了。希望通过我的讲解,你可以更好地理解其中的逻辑,另外,你也可以尝试在实际项目中运用这方面的知识。
117 69
探秘文件共享服务之哈希表助力 Python 算法实现
在数字化时代,文件共享服务不可或缺。哈希表(散列表)通过键值对存储数据,利用哈希函数将键映射到特定位置,极大提升文件上传、下载和搜索效率。例如,在大型文件共享平台中,文件名等信息作为键,物理地址作为值存入哈希表,用户检索时快速定位文件,减少遍历时间。此外,哈希表还用于文件一致性校验,确保传输文件未被篡改。以Python代码示例展示基于哈希表的文件索引实现,模拟文件共享服务的文件索引构建与检索功能。哈希表及其分布式变体如一致性哈希算法,保障文件均匀分布和负载均衡,持续优化文件共享服务性能。
Python中的Paramiko与FTP文件夹及文件检测技巧
通过使用 Paramiko 和 FTP 库,开发者可以方便地检测远程服务器上的文件和文件夹是否存在。Paramiko 提供了通过 SSH 协议进行远程文件管理的能力,而 `ftplib` 则提供了通过 FTP 协议进行文件传输和管理的功能。通过理解和应用这些工具,您可以更加高效地管理和监控远程服务器上的文件系统。
81 20
如何在Python中高效地读写大型文件?
大家好,我是V哥。上一篇介绍了Python文件读写操作,今天聊聊如何高效处理大型文件。主要方法包括:逐行读取、分块读取、内存映射(mmap)、pandas分块处理CSV、numpy处理二进制文件、itertools迭代处理及linecache逐行读取。这些方法能有效节省内存,提升效率。关注威哥爱编程,学习更多Python技巧。
118 8
如何使用 Python 进行文件读写操作?
大家好,我是V哥。本文介绍Python中文件读写操作的方法,包括文件读取、写入、追加、二进制模式、JSON、CSV和Pandas模块的使用,以及对象序列化与反序列化。通过这些方法,你可以根据不同的文件类型和需求,灵活选择合适的方式进行操作。希望对正在学习Python的小伙伴们有所帮助。欢迎关注威哥爱编程,全栈路上我们并肩前行。
102 4
剖析文件共享工具背后的Python哈希表算法奥秘
在数字化时代,文件共享工具不可或缺。哈希表算法通过将文件名或哈希值映射到存储位置,实现快速检索与高效管理。Python中的哈希表可用于创建简易文件索引,支持快速插入和查找文件路径。哈希表不仅提升了文件定位速度,还优化了存储管理和多节点数据一致性,确保文件共享工具高效运行,满足多用户并发需求,推动文件共享领域向更高效、便捷的方向发展。
如何使用Python将TS文件转换为MP4
本文介绍了如何使用Python和FFmpeg将TS文件转换为MP4文件。首先需要安装Python和FFmpeg,然后通过`subprocess`模块调用FFmpeg命令,实现文件格式的转换。代码示例展示了具体的操作步骤,包括检查文件存在性、构建FFmpeg命令和执行转换过程。
119 7
|
5月前
|
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
240 2
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。

热门文章

最新文章