一、写数据

 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文件的读写的更多相关文章

  1. python文件的读写的模式

    <1>打开文件 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件名,访问模式) 示例如下: f = open('test.txt', 'w' ...

  2. Python文件的读写操作

    Python文件的使用 要点:Python能够以文本和二进制两种形式处理文件. 1.文件的打开模式,如表1:  注意:使用open()函数打开文件,文件使用结束后耀使用close()方法关闭,释放文件 ...

  3. python文件的读写总结

    读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...

  4. python文件的读写权限以及相关应用read、write和文件指针

    f=open('ceshi.txt','a',encoding='utf-8')r=open('ceshi.txt','r',encoding='utf-8')上面的2种写法可以用with来写:wit ...

  5. 【8】python文件的读写方法

    (1).读文件的步骤: (1)打开文件 open(path,flag,encoding,[errors]) path:打开路径 flag:打开方式 r(只读) rb(二进制格式) r+(可以读写) w ...

  6. [ Python ] 文件的读写操作

    1. 文件读写操作 读写文件是最常见的 IO 操作, Python 内置了读写文件的函数.在磁盘上读写文件的功能是由操作系统提供的,所以读写文件是请求操作系统打开一个文件对象(通常称为文件描述符),然 ...

  7. python文件的读写追加等操作

    # encoding:utf-8 # 文件读取操作 fp=open("E:\\file.txt","r",encoding="utf-8" ...

  8. 第9.9节 Python文件随机读写定位操作方法seek

    类似于C语言,Python也提供了文件位置定位的操作方法seek. 一. 语法 seek(offset, whence=SEEK_SET) 语法释义: 1)offset :将文件当前操作位置移动偏移量 ...

  9. python: 文件的读写

    #文件的读取.py a=open('test.txt').readline() #只读取文件第一行,保存为字符串格式 b=open('test.txt').read() #读取全部内容,保存为字符串格 ...

随机推荐

  1. 《java与模式》

    2012年3月 随笔档案 - java_my_life - 博客园--此网友 12年的博客都是和模式有关的,希望可以多看看.http://www.cnblogs.com/java-my-life/ar ...

  2. java应用的优化【转】

    XX银行网银系统是一套全新的对公业务渠道类系统,经过两年的建设,将逐步对外提供服务. 该系统融合了原来多个对公渠道系统,并发量是以前多个系统之和,吞吐量要求将大幅上升.为了使广大对公客户使用系统时获得 ...

  3. Lua中的迭代器与泛型for

    [前言] 迭代器就是一种可以遍历一种集合中所有元素的机制,在Lua中,通常将迭代器表示为函数.每调用一次函数,就返回集合中的“下一个”元素.每个迭代器都需要在每次成功调用之后保存一些状态,这样才能知道 ...

  4. Beta冲刺(3/7)

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(3/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 整理博客 ppt模板 接下来的计划 做好机动. ...

  5. 006_设置执行命令提示和unset shell function

    一.unset不能unset只读变量 问题: [root@zb1-bdwaimai-inf-wfe-28 ~]# source ~/.bash_profile bash: PROMPT_COMMAND ...

  6. lnmp 1.5 mysql数据库开启远程访问

    LNMP默认是禁止远程连接数据库的,但是有时候为了方便,我们想要远程,下面是开启远程的方法 sudo su # 切换为root用户模式,省的接下来操作的时候出现权限问题 mysql -u root - ...

  7. Python 爬虫 当当网图书 scrapy

    目标站点需求分析 获取当当网每个图书名字和评论数 涉及的库 scrapy,mysql 获取解析单页源码 保存到数据库中 结果

  8. 什么是内部类? Static Nested Class 和 Inner Class 的不同。

    什么是内部类? Static Nested Class 和 Inner Class 的不同.        内部类就是在一个类的内部定义的类,内部类中不能定义静态成员(静态成员不是对象的特性,只是为了 ...

  9. java开发学生信息管理系统的实现(简洁易懂),适合计算机专业学生参考,课程设计、毕业论文设计参考等

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

  10. 西北地区打不开github的解决办法~

    泱泱我大西北,github打不开,的确痛苦的. http://ipaddress.com/ip_lookup/ 先查github.com 可能存在打不开的情况~ 随便找一个web在线代理,就可以查到了 ...