首页 > 其他分享 >第四章 文件基本操作

第四章 文件基本操作

时间:2022-10-27 17:13:07浏览次数:35  
标签:文件 参数 mode file 基本操作 close open 第四章

申明:file是python的关键词,不能用于变量名,这里仅为示例,便于说明变量指向打开的文件;

文件操作:

file = open(filename[,mode[,buffering]])

 1.open()函数第一个参数,即文件名是必须的,通常该文件名还需要带文件路径;

例如,数据文件与当前程序在同一目录下,则文件名无须包含路径,否则必须要带上相对路径或绝对路径;

在windows下的绝对路径示例:'e:\\pthw\\hfpython\\ex\\Man.txt' ;

 2.mode参数为可选,默认为'r',即只读;

mode模式参数常用值'r':只读;

补充:'x'模式:尝试以独占的方式打开文件,若文件已经打开,则抛出异常;若文件不存在,则创建一个新文件。

 

说明:

以'w'或'w+'方式打开文件,首先会将文件内容清空;'+'是增加“读写”功能,但不影响'w'的属性;

以'r'或'r+'方式打开文件,从开头开始读;

'a','a+',追加方式,文件指针自动指向文件末尾;

 

3.file.write(contents)

写入操作,仅仅是在内存中写入,并没有将内容写进硬盘文件;因此,为了确保内容成功保存到硬盘文件,请务必确保有写入内容的文件要有file.close()

(当然,基于文件安全性和程序严谨要求,所有主动打开的文件,应主动关闭);

 

4.file.seek(offset[,whence])

参数offset -- 开始的偏移量,也就是代表需要移动偏移的字节数,如果是负数表示从倒数第几位开始。

whence:可选,默认值为 0。给 offset 定义一个参数,表示要从哪个位置开始偏移;0 代表从文件开头开始算起,1 代表从当前位置开始算起,2 代表从文件末尾算起。

返回值:如果操作成功,则返回新的文件位置,如果操作失败,则函数返回 -1。

 file.seek()方法,结合file.read() 、file.lineread()、file.readlines()和 file.write() 使用;

file.read([size])---->从当前文件指针顺序读取指定字节的内容,若不输入参数或参数为负,则读取从当前文件指针之后全部内容;

该动作之后,文件指针会停留在被读取的最后一个字节位置,若需要调整指针,就需要用到file.seek()函数;

 

5.file.close()

file.close 需要与file.open()配合使用。

file.close()不需要任何参数,也不需要任何返回值。

但是,在程序设计中,若存在file.open()失败时,再去执行file.close(),会抛出一个异常,导致程序崩溃;

因此,为避免程序崩溃,通常会在执行file.close()之前,再做一次确认,即:

if 'file' in local(): #file 是file = opne('filename') 的变量名。

file.close()

 

6.with

with open('fine_name','mode') as file_variable:

print('context',file = file_variable)

#file_variable.write('context')

使用上述结构,由python自行管理文件的colse(),无论文件open()成功与否,python自行处理。

标签:文件,参数,mode,file,基本操作,close,open,第四章
From: https://www.cnblogs.com/mmking/p/16832909.html

相关文章

  • 060_索引及文档基本操作
    目录基本Rest命令关于索引的基本操作创建索引及文档创建索引,指定字段类型查询索引创建索引及文档查询索引及文档默认的信息扩展命令修改索引PUT覆盖POST修改删除索引关于文......
  • libcurl之文件上传阿里云
    结构顺序如下:配置请求头->数据准备->初始化libcurl->设置libcurl属性->设置请求头->执行libcurl->释放libcurl 部分执行源码:typedefstruct_DUMP_PROCESS_INFO{......
  • linux快捷方式.destop文件的配置项
    [DesktopEntry]必填,表明该文件是一个DesktopEntry文件,节点意思十分明显,桌面入口。DesktopEntry实际上是一个文件标准,该标准由FreeDesktop.org制定;Comment这是......
  • win10 占用资源的 大文件夹
    扫描大文件更新由于空间不足而失败时,可以扫描大文件。清理这个"立即释放空间"貌似比影片卷上的"磁盘清理"效果好一点?立即释放空间磁盘清理大文件记录包含......
  • 使用RestTemplate上传文件
    1、使用form表单上传文件文件发送:@TestpublicvoidstoreFile2(){Filefile=newFile("D:\\test.txt");StringuploadUrl="http://127.0.0.1:8080/uplo......
  • Android Studio生成.jks文件
    jks(javakeystore)字面意思可以理解为java的密钥库,是一个用来存放密钥和证书的仓库。而keytool就是密钥和证书的管理工具,它把key(密钥)和certificate(证书)存放在一个叫keysto......
  • windows和linux文件传输[SSH]
    Linux系统安装ssh的serverapt-getinstallopenssh-server修改/etc/ssh/sshd_config文件vim/etc/ssh/sshd_config修改如下:允许root账户登录......
  • 《程序员的修炼之道:从小工到专家》第四章
    最近阅读了《程序员的修炼之道:从小工到专家》第四章:“注重实效的偏执”首先我明白了一个人的精力是有限的,不可能写出完美的软件,所以我们会对自己编写的代码可能出现的错误......
  • Go配置文件绑定到结构体实战演示
    说明在实际的开发过程中,我们必然会用到MySQL、Redis等这样的服务。为了实现系统的配置化,我们会把一些配置信息单独放在一些文件中,使用到的地方直接读取配置文件即可。常见......
  • QT打开文件夹或文件,选择文件夹或者选择文件
    1.QProcess加explorer弹出打开文件夹1.1打开文件夹,并自动选中目标文件voidHisPicItem::SlotOpenTargetFile(QStringstrfile){QStringstrPicPath=strfile;......