Python文件的读写
一、写数据
- f = open("hello.txt", "w")
- f.write("hello world python!")
- f.close() #关闭文件必不可少
如果文件不存在就创建,如果存在就清空里面的内容,然后写入数据。
二、读数据
- f = open("hello.txt", "r")
- content = f.read()
- print(content)
- f.close() #关闭文件必不可少
要找个变量将读取的内容存储起来,如果没有向read后的括号传入数据,则默认读取整个文件的内容,与readlines()的功能一致,使用readlines()
返回的是一个列表,每一行数据为一个元素;另外readline()每次只读取一行数据. 如果传入一个值比如1,就读取一个字节的数据. 如果使用了多次
读数据操作,那么后来读取的数据是从上次读完后的位置开始的.
三、文件的随机读写
1、使用tell()获取当前读写的位置
- f = open("匿名函数.py", "r", encoding='UTF-8') #文件中含有中文时加上 encoding='UTF-8'
- str = f.read(4)
- print("读取的数据是:"+str)
- position = f.tell() #获取当前读写的位置
- print(position)
- str = f.read(4) #在接着读取4字节的数据
- print(str)
- position = f.tell() #获取当前读写的位置
- print(position)
- f.close()
2、定到某个位置
如果在读写文件的过程中,需要从另外一个位置进行操作的话,可以使用seek()
seek(offset,form) 有两个参数:
offset:偏移量
from:方向
0:表示文件开头
1:表示当前位置
2:表示文件末尾
- f = open("匿名函数.py", "r", encoding='UTF-8') #文件中含有中文时加上 encoding='UTF-8'
- str = f.read(10)
- print("读取的数据是:"+str)
- #查找当前位置
- position = f.tell()
- print(position)
- #重新设置位置
- f.seek(5,0)
- #查找当前位置
- position = f.tell()
- print(position)
- f.close()
四、文件的相关操作
1、重命名
- import os
- os.rename("论文第一版.txt", "论文最终版.txt")
2、删除文件
- import os
- os.remove("论文第一版.txt")
五、文件夹的相关操作
1、创建文件夹
- import os
- os.mkdir("hello")
2、获取当前目录
- import os
- os.getcwd()
3、改变默认目录
- import os
- os.chdir("../")
4、获取目录列表
- import os
- os.listdir("./")
5、删除文件夹
- import os
- os.rmdir("hello")
应用一:制作文件的备份(就是文件的复制),不适用于大文件的备份
步骤:
1.获取要复制的文件名(xxx.txt) 通过input()输入
2.打开这个文件("r")
3.创建一个文件 xxx[复件].txt
4.从原文件中读取数据
5.将读取的文件数据写入到新文件中
6.关闭两个文件
- f_old_name = input("请输入要备份的文件名(要加后缀名):")
- f_read = open(f_old_name, "r")
- position = f_old_name.rfind(".")
- f_new_name = f_old_name[0:position] + "[复件]" + f_old_name[position:]
- f_write = open(f_new_name, "w")
- content = f_read.read()
- f_write.write(content)
- f_read.close()
- f_write.close()
升级版,适用于大文件的备份、读取
- f_old_name = input("请输入要备份的文件名(要加后缀名):")
- f_read = open(f_old_name, "r", encoding='UTF-8') #文件中含有中文时加上 encoding='UTF-8'
- position = f_old_name.rfind(".")
- f_new_name = f_old_name[0:position] + "[复件]" + f_old_name[position:]
- f_write = open(f_new_name, "w")
- #用循环改进
- while True:
- content = f_read.read(1024) #一次读取1024字节
- if len(content) == 0: #当读取的内容为空时退出循环
- break
- f_write.write(content)
- f_read.close()
- f_write.close()
应用二:批量修改文件名
- #获取一个要重命名的文件名字
- folder_name = input("请输入文件夹的名称:")
- #获取那个文件夹中所有的文件名
- file_names = os.listdir(folder_name)
- #第一种方法
- os.chdir(folder_name)
- for file_name in file_names:
- print(file_name)
- os.rename(file_name, "京东出品-"+file_name)
- #第二种方法
- for file_name in file_names:
- #print(file_name)
- old_file_name = "./"+ folder_name + "/" +file_name
- new_file_name = "./"+folder_name+"/"+"[京东出品]-"+file_name
- os.rename(old_file_name, new_file_name)
Python文件的读写的更多相关文章
- python文件的读写的模式
<1>打开文件 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件名,访问模式) 示例如下: f = open('test.txt', 'w' ...
- Python文件的读写操作
Python文件的使用 要点:Python能够以文本和二进制两种形式处理文件. 1.文件的打开模式,如表1: 注意:使用open()函数打开文件,文件使用结束后耀使用close()方法关闭,释放文件 ...
- python文件的读写总结
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...
- python文件的读写权限以及相关应用read、write和文件指针
f=open('ceshi.txt','a',encoding='utf-8')r=open('ceshi.txt','r',encoding='utf-8')上面的2种写法可以用with来写:wit ...
- 【8】python文件的读写方法
(1).读文件的步骤: (1)打开文件 open(path,flag,encoding,[errors]) path:打开路径 flag:打开方式 r(只读) rb(二进制格式) r+(可以读写) w ...
- [ Python ] 文件的读写操作
1. 文件读写操作 读写文件是最常见的 IO 操作, Python 内置了读写文件的函数.在磁盘上读写文件的功能是由操作系统提供的,所以读写文件是请求操作系统打开一个文件对象(通常称为文件描述符),然 ...
- python文件的读写追加等操作
# encoding:utf-8 # 文件读取操作 fp=open("E:\\file.txt","r",encoding="utf-8" ...
- 第9.9节 Python文件随机读写定位操作方法seek
类似于C语言,Python也提供了文件位置定位的操作方法seek. 一. 语法 seek(offset, whence=SEEK_SET) 语法释义: 1)offset :将文件当前操作位置移动偏移量 ...
- python: 文件的读写
#文件的读取.py a=open('test.txt').readline() #只读取文件第一行,保存为字符串格式 b=open('test.txt').read() #读取全部内容,保存为字符串格 ...
随机推荐
- 学习pano2vr制作html5全景笔记
demo截图: demo下载: 百度网盘:http://pan.baidu.com/s/1o8yBwIA 密码:nf62(启服务端查看); 我制作是全屏定点360的全景页面,使用pano2vr软件制作 ...
- AngularJS 作用域(Scope)
AngularJS作用域(Scope) Scope作用域是应用在视图和控制器之间的纽带,Scope是一个对象包含可用的方法和属性,Scope可以应用在试图和控制器上. $scope是针对当前的cont ...
- 【原创】数据库基础之Mysql(1)常用命令
1 创建用户 CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 比如 create user 'test_user'@'%' identi ...
- lua分割字符串
str = "abc;123;345" local tab = string.split(str, ";") 然后list里面就是 abc123345 了.第二 ...
- ILMerge在MSBuild与ILMerge在批处理文件中运行
ILMerge ILMerge是一个将多个.NET程序集合并到一个程序集中的实用程序.它可以免费使用,并以NuGet包的形式提供. 如果您在使用它时遇到任何问题,请与我们联系.(mbarnett at ...
- UVA1513 Movie collection
传送门 题意 KI先生有收集大量小电影的习惯, 他把他的珍藏理成一大摞.无论何时他想观看这一些电影的一部,他从这一摞电影中找出这一部电影,小心地将其拿出,以确保这一摞电影不会倒塌. 自从那一摞电影变得 ...
- Jace Config
一.jace配置 1.按照Jace 的默认IP配置自己电脑的IP网段(同一个网段),连接上之后使用默认的密码登录,导入tridiumEMEA…..的授权文件,之后创建Station,选择需要的协议驱动 ...
- Winform Focus()函数不起作用 解决办法
private void Form_Load(object sender, EventArgs e) { this.txtName.Focus(); } 光标到不了txtName.可能的原因 TabI ...
- vba 读取数据库
1.安装数据库 2.创建数据源 Private Sub Worksheet_Change(ByVal Target As Range) Then Call mySQL End If End Sub P ...
- 【Go】那么多数值类型,应该选哪个?
原文链接:https://blog.thinkeridea.com/201903/go/selection_of_numerical_types.html Go 内置很多种数值类型,往往初学者不知道编 ...