Python学习篇---文件操作

一、打开文件

Python中使用内置函数open()打开文件,创建file对象。
语法格式如下:

file object = open(filename,[,access_mode][,buffering])
fp = open("E:\\test.txt")

filename:访问的文件名,必选参数项
access_mode:访问文件的模式,可选参数项,默认只读(r)
buffering:设置文件缓冲区,可选参数项,默认缓冲区大小4096字节。

open:

fp = open("E:\\test.txt","w")
fp.write("Hello World")
fp.close()

with open:

with  open("E:\\test.txt","w") as fp: 
	fp.write("Hello world!")

两种方式区别见:泰泰博客 » 文件操作中open()与with open() as… 间的差异

访问文件的模式:

模式描述
r以只读方式打开文件,文件指针在文章开头(默认)
w打开一个文件,用于写入。文件存在,则将其覆盖,若文件不存在,则系统新建文件
a打开一个文件,用于追加 。文件存在,则内容写在结尾,若文件不存在,则系统新建文件再写入
rb以二进制格式打开一个文件,用于只读
wb以二进制格式打开一个文件,只用于写入,文件存在,则将其覆盖,若文件不存在,系统则新建一个文件
ab以二进制格式打开一个文件,用于追加 ,文件存在,直接实行追加模式,若文件不存在,则创建新文件用于写入
r+打开一个文件,用于读写
a+打开一个文件用于读写。该文件若存在,新内容实现追加,若文件不存在,系统创建新文件用于读写
rb+以二进制格式打开一个文件,用于读写。一般用于非文本文件
wb+如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,实行追加模式,如果该文件不存在,创建新文件用于读写。

二、基本的文件方法

1、read()方法

读取文件的全部信息,返回值为从文件中读取的字符串
语法格式如下:

pythonstring = fileobject.read([size])
 with open('E:\\test.txt',"r") as f: # 只读模式打开文件  
 	content = f.read() #读取文件全部内容   
 	print(content)# 输出时会将空白行也输出 
 	print '------------'   
 	print(contents.strip() )# 调用strip()函数用于把目标内容里面
 	#所有的空格,空行等都删除掉,只剩余文字内容 

输出结果:

This is an example!

-----------------
This is an example!
-----------------

注意:
调用read()会一次性读取文件的全部内容,如果文件很大,内存可能就会挤爆,read()适合读取较小文件的时候;如果不能确定文件大小,反复调用read(size)比较保险;

若要读取非UTF-8编码的文本文件,还需要给open()函数传入encoding参数

2、readline()方法

该方法用于从文件中读取整行,返回字符串格式,包括"\n"字符。
语法格式如下:

pythonString = fileobject.readline([size]);
size:从文件中读取的字节数,若参数为整数,则返回指定大小的字符串数据

应用代码如下:

with open("E:\\test.txt","w") as f1: 
	f1.write("1、第一行测试数据\n2、第二行测试数据\n")
with open("E:\\test.txt","r") as f2:    
	print(f2.readline())    
	print(f2.readline(8))

输出结果:

1、第一行测试数据
2、第二行测试数

该方法每次读取一行,全部读取需要使用循环读取所以占用内存较小,适合大文件。

3、readlines()方法

该方法用于读取文件中所有行,直到结束符EOF,并返回列表,每一行作为列表中的一个元素,最后返回这个列表,适合读取大文件,比较占内存,该列表可以有Python的for…in…结构进行处理。
语法格式如下:

fileobject = Readlines()

引用代码如下:

pythonwith open("E:\\test.txt","r") as f:    
	content = f.readlines()
print(content)
for line in content:
	print(line.strip())#换行符会代入列表元素中,所以使用strip()将空白去掉    	

输出结果:

	['1、第一行测试数据\n', '2、第二行测试数据\n']
	1、第一行测试数据
	2、第二行测试数据

三种读取用法可参考:https://blog.csdn.net/Li_haiyu/article/details/80366067

4、write()方法

将字符串写入一个打开的文件,write()方法不会自动再字符串的末尾添加"\n",需要人为在字符串末尾添加。

语法格式如下:

pythonfileobject.write(string)

应用代码如下

f = open("E:\\test.txt","w")
f.write("Hello world!")
f.close()

必须调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了,所以,还是用with open语句更保险一些。
with open()写入内容:

with open("E:\\test.txt","w") as f:
	f.write("Hello world!")

5、文件重命名

rename()方法

用于将当前文件名重命名为一个新文件名。
语法格式:

os.rename(current_filename,new_filename)

应用格式:

import os
os.rename("E:\\test.txt","E:\\demo.txt")

6、删除文件

removed()
用于删除系统中已经存在的文件
语法格式:

os.remove(file_name)

应用格式:

import os
os.remove("E:\\test.txt")

三、基本的目录方法

1、创建目录

mkdir()方法
应用格式:

import os
os.mkdir("E:\\test_dir")

2、显示当前工作目录

getcwd()方法
应用格式:

import os
os.getcwd()

3、改变目录

chdir()方法
应用格式:

import os
os.chdir("newdir")

改变当前的工作目录

4、删除目录

rmdir()方法

import os
os.rmdir("E:\\newdir")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值