在不需要借助任何外界库的前提下,python内置方法其实也可以完成我们需要的文件存取任务,这里主要介绍几种python内置方法的使用方式,最后再给出一个实际案例展示:
参数的含义如下:
file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。
buffering: 如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。
如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
close()方法
File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。
当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。
fileObject.close()
write ()方法
fileObject.write(string)
write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。write()方法不会在字符串的结尾添加换行符(' ');被传递的参数是要写入到已打开文件的内容。
read () 方法
fileObject.read([count])
read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。
举例分析
一般情况,建议小伙伴们使用with ...as...写法,这种会在执行完代码块后自动close,既可以简化程序,又可以避免自己粗心或者其他原因造成的不必要错误,下面给出一个实际案例。
输出结果会在目录下多出一个test.txt文件,并读取后输出所有内容,下图为执行了三次的结果,说明模式'a'不会覆盖已有内容(重要的事情说三遍!)
fileObject.read([count])
这里主要介绍numpy模块中的两个常用方法,用于保存读取数据。
np.loadtxt(filename, dtype=int, delimiter=' ')
np.savetxt(filename, a, fmt="%d", delimiter=",")
其中,filename为要保存或读取的文件名,a为存取的内容,delimiter为分隔符号。这个使用很简单,代码如下:
其运行结果,创建了一个名为'a.txt' 的文件,保存了数组,并print打印出来读取结果,如下图:
python中的os模块很强大,提供了许多文件处理操作的方法。以下列举出常用的几种方法。
os.open()
os.open(file, flags[, mode]);
其中,参数含义为:
这里注意针对内容的写入举例,注意str要转换成byte,否则会报错(a bytes-like object is required, not 'str')!
和前几种方法一样,主要是读取和写入两个部分。主要依靠csv.reader(),csv.writer()和writerow()方法。和前边几种大同小异,这里直接代码中讲解基础的使用方式。
小编推荐一个学Python的学习q u n【 二二七 】 【四三五 】 【四五零 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!很多干货和技术资料分享!希望新手少走弯路
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。