Python中 文件处理

简介:
在文件处理当中,只有read默认是以字符为单位,其他方法均已字节为单位.

def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):
    file表示文件的名称,可以是绝对路径,也可以是相对路径.
    mode表示打开文件的方式,r表示读,w表示写,a表示追加.
    encoding表示已哪种编码格式读取文件中的内容,如果不指定,默认使用当前平台的编码,对于
    Windows操作系统来说为gbk编码.
    open()成功返回一个文件对象后,后续对该文件的操作都通过这个“句柄”实现。

        open('小重山1.txt','r',encoding='utf-8')

打开文件的三种方式:
r : 以r的方式打开整个文件,若文件不存在,则直接报错
w : 以w的方式打开整个文件,若文件存在则先清空文件的内容(但是并不删除文件),若文件不存在则先创建这个文件。
注意:在以w的方式打开整个文件的过程中,只有在第一次打开文件的时候才会先清空整个文件的内容,在整个操作的
过程中
并不会写一次清除一次。
r和w代表以文本的方式读,并以文本的方式写。
a : 以追加的方式打开整个文件,若文件不存在则先创建这个文件,若文件存在则只追加内容。

"+" 表示可以同时读写某个文件
    r+, 读写【可读,可写】,文件不存在会报错的
    w+, 写读【可读,可写】, 清空文件内容,然后以读写方式打开文件。
    a+ ,写读【可读,可写】

"b"表示已字节流的方式操作相应的文件,当以"b"的方式操作文件的时候,
处理数据的基本单位是字节(二进制),而不再是字符。
    rb,  以二进制的方式读写某个文件          (直接将文件在硬盘中对应的bytes读取到内存当中)
    wb,  以二进制的方式向某个文件中写入内容。(直接将文件对应的bytes写到硬盘当中)

def close(self, *args, **kwargs): 
        程序结束之后要注意关闭流从而释放与该流相关的所有系统资源.    python 有机制会自动关闭  但是不安全 鬼知
                道什么时候关闭

                .close()         

def read(self, *args, **kwargs): 
        read()从文件中读取指定个数的字符(r模式)或者字节(rb模式),如果没有给定参数size(默认-1)或为负数,则
                一直读至末尾,获取整个文件的内容,若给定size值则取指定长度字符  (中文英文都是一个字符)。
                .read()

def readline(self, *args, **kwargs): 
        读取一行文本,并随后将光标转移至下一行的起始偏移量。即同时两次读取则会取出第一行和第二行

def readlines(self, hint=-1):
        读取文件所有行文本的内容,并以列表的形式进行返回。  处理时按需要使用 .strip()方法  \n会多产生一个空格
                 .readlines()

def readable(self):
        判断文件的打开方式是否是可读的,如果是则返回True.

def write(self, *args, **kwargs): 
        向文件中写入字符串,并返回写入字符的个数,注意:要自己添加相应的换行符。
                .write()

def writelines(seq)    
        向文件中写入一个字符串列表,注意:seq中的每个元素必须是字符串类型.

def writable(self, *args, **kwargs): 
        判断文件的打开方式是否是可写的,如果是则返回True.

def seek(self,offset,whence=0): 
    控制文件光标位置移动的字节数,
    whence=0代表文件的开始位置.
    whence=1代表光标所处的当前位置
    whence=2代表文件的结束位置.
    注意:seek处理数据的单位为字节。

def tell(self, *args, **kwargs): 
        当前文件中光标所处的位置.

def truncate(self, *args, **kwargs): 
    截取文件的内容,其中结果只保留前n个字节的内容。

文件操作的其他功能:  
文件的修改:
1、读源文件的内容,然后一行一行的向新文件中写.
2、通过os模块将源文件给删除.
3、将新文件重命名为源文件的名字。








本文转自lb沫51CTO博客,原文链接:http://blog.51cto.com/13562606/2058404,如需转载请自行联系原作者
相关文章
|
3月前
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
1033 2
|
2月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
|
10月前
|
机器学习/深度学习 存储 算法
解锁文件共享软件背后基于 Python 的二叉搜索树算法密码
文件共享软件在数字化时代扮演着连接全球用户、促进知识与数据交流的重要角色。二叉搜索树作为一种高效的数据结构,通过有序存储和快速检索文件,极大提升了文件共享平台的性能。它依据文件名或时间戳等关键属性排序,支持高效插入、删除和查找操作,显著优化用户体验。本文还展示了用Python实现的简单二叉搜索树代码,帮助理解其工作原理,并展望了该算法在分布式计算和机器学习领域的未来应用前景。
|
4月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
161 0
|
5月前
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。
|
5月前
|
编译器 Python
如何利用Python批量重命名文件
本文介绍了如何使用Python和PyCharm对文件进行批量重命名,包括文件名前后互换、按特定字符调整顺序等实用技巧,并提供了完整代码示例。同时推荐了第三方工具Bulk Rename Utility,便于无需编程实现高效重命名。适用于需要处理大量文件命名的场景,提升工作效率。
|
5月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
1025 0
|
6月前
|
编解码 Prometheus Java
当Python同时操作1000个文件时,为什么你的CPU只用了10%?
本文介绍如何构建一个高效的文件处理系统,解决单线程效率低、多线程易崩溃的矛盾。通过异步队列与多线程池结合,实现任务调度优化,提升I/O密集型操作的性能。
142 4
|
5月前
|
数据管理 开发工具 索引
在Python中借助Everything工具实现高效文件搜索的方法
使用上述方法,你就能在Python中利用Everything的强大搜索能力实现快速的文件搜索,这对于需要在大量文件中进行快速查找的场景尤其有用。此外,利用Python脚本可以灵活地将这一功能集成到更复杂的应用程序中,增强了自动化处理和数据管理的能力。
358 0
|
8月前
|
Python
使用Python实现multipart/form-data文件接收的http服务器
至此,使用Python实现一个可以接收 'multipart/form-data' 文件的HTTP服务器的步骤就讲解完毕了。希望通过我的讲解,你可以更好地理解其中的逻辑,另外,你也可以尝试在实际项目中运用这方面的知识。
366 69

推荐镜像

更多