python 文件操作 复制-python windows文件操作
本文标识:Python_9 本文编辑:Jack Wind 编程工具:Anaconda、Pycharm 阅读时间:8分钟
什么是文档?
文件的作用是什么?
大家应该都听过一句话:“好记性不如烂笔头”。
不仅人脑会忘记东西,计算机也会这样。 例如,一个程序在运行过程中经过一番努力才最终计算出结果。 试想一下,如果没有存储数据,与重新启动计算机相比。 “没有地方可以哭”
相信很多做ps的朋友都深有体会
可见存储数据有很大的价值
使用文件的目的:
就是存储一些存储,下次执行程序的时候可以直接使用,不用重新拷贝一份,省时省力
2. 文件的打开和关闭 2.1. 打开文件
在python中,使用open函数打开已有文件或创建新文件
open(filename, access mode) 的例子如下:
f = open('test.txt', 'w')
阐明:
访问模式说明
r
以只读方式打开文件。 文件指针将放置在文件的开头。 这是默认模式。
w
打开一个文件只用于写入。 如果文件已存在,则覆盖该文件。 如果该文件不存在python 文件操作 复制,则创建一个新文件。
A
打开一个文件进行追加。 如果文件已经存在,文件指针将放在文件末尾。 也就是说,新内容将写在现有内容之后。 如果该文件不存在,则创建一个新文件用于写入。
r
以只读方式打开二进制格式的文件。 文件指针将放置在文件的开头。 这是默认模式。
wb
以二进制格式打开一个文件,只用于写入。 如果文件已存在,则覆盖该文件。 如果该文件不存在,则创建一个新文件。
ab
打开二进制格式的文件以进行追加。 如果文件已经存在,文件指针将放在文件末尾。 也就是说,新内容将写在现有内容之后。 如果该文件不存在,则创建一个新文件用于写入。
r+
打开文件进行读写。 文件指针将放置在文件的开头。
w+
打开文件进行读写。 如果文件已存在,则覆盖该文件。 如果该文件不存在,则创建一个新文件。
一个+
打开文件进行读写。 如果文件已经存在,文件指针将放在文件末尾。 该文件将以追加模式打开。 如果该文件不存在,则新建一个文件进行读写。
r+
打开二进制格式的文件进行读写。 文件指针将放置在文件的开头。
白+
打开二进制格式的文件进行读写。 如果文件已存在,则覆盖该文件。 如果该文件不存在,则创建一个新文件。
ab+
打开二进制格式的文件以进行追加。 如果文件已经存在,文件指针将放在文件末尾。 如果该文件不存在,则新建一个文件进行读写。
2.2. 关闭文件
close() 的一个例子如下:
# 新建一个文件,文件名为:test.txt
f = open('test.txt', 'w')
# 关闭这个文件
f.close()
3、文件读写 3.1. 写入文件(写入)
注意:
3.2、读取数据(read)
使用read(num)从文件中读取数据,num表示要从文件中读取数据的长度(以字节为单位),如果不传入num则表示读取文件中的所有数据
3.3、读取数据(readlines)
3.4、读取数据(readline)
注意:
3.5. 文件定位与读写 3.5.1. 获取当前读写位置
在读写文件的过程中python 文件操作 复制,如果想知道当前位置,可以使用tell()获取
# 打开一个已经存在的文件
f = open("test.txt", "r")
str = f.read(3)
print "读取的数据是 : ", str
# 查找当前位置
position = f.tell()
print "当前文件位置 : ", position
str = f.read(3)
print "读取的数据是 : ", str
# 查找当前位置
position = f.tell()
print "当前文件位置 : ", position
f.close()
3.5.2. 定位到某个位置
如果在读写文件的过程中需要从另一个位置进行操作,可以使用seek()
seek(offset, from) 有两个参数
demo:设置位置为:从文件开头偏移5个字节
# 打开一个已经存在的文件
f = open("test.txt", "r")
str = f.read(30)
print "读取的数据是 : ", str
# 查找当前位置
position = f.tell()
print "当前文件位置 : ", position
# 重新设置位置
f.seek(5,0)
# 查找当前位置
position = f.tell()
print "当前文件位置 : ", position
f.close()
演示:将位置设置为:文件末尾的 3 个字节
# 打开一个已经存在的文件
f = open("test.txt", "r")
# 查找当前位置
position = f.tell()
print "当前文件位置 : ", position
# 重新设置位置
f.seek(-3,2)
# 读取到的数据为:文件最后3个字节数据
str = f.read()
print "读取的数据是 : ", str
f.close()
4、做好文件备份
输入文件名,程序会自动完成文件的备份操作
5、文件、文件夹相关操作
有时需要对文件进行重命名、删除等操作,python的os模块中有这些操作
5.1. 文件重命名
os模块中的rename()可以完成文件重命名操作
rename(要修改的文件名,新文件名)
import os
os.rename("text.txt", "test.txt")
# 需要注意以下
5.2. 删除文件
os模块中的remove()可以完成文件删除操作
remove(要删除的文件名)
import os
os.remove("text.txt")
5.3、创建文件夹
import os
os.mkdir("小风")
5.4. 获取当前目录
import os
os.getcwd()
5.5. 更改默认目录
import os
os.chdir("../")
5.6. 获取目录列表
import os
os.listdir("./")
5.7. 删除文件夹
import os
os.rmdir("小风")
6.批量修改文件名
比如我们有很多文件,想批量修改,怎么办?
# 批量在文件名前加前缀
import os
funFlag = 1 # 1表示添加标志 2表示删除标志
folderName = './小风/'
# 获取指定路径的所有文件名字
dirList = os.listdir(folderName)
# 遍历输出所有文件名字
for name in dirList:
if funFlag == 1:
newName = '[A2Data出品-]' + name
elif funFlag == 2:
num = len('[A2Data出品]-')
newName = name[num:]
print (newName)
os.rename(folderName+name,folderName+newName)
观看和转发都是一种支持