网站建设中添加图片链接,广州安全教育平台打卡引热议,贵阳网站制作公司,wordpress当面付回调地址记录下第一次使用Python读写文件的过程#xff0c;虽然很简单#xff0c;第一次实现其实也有些注意的事项。
单个文件的读操作#xff1a;
我们先假设一个需求如下#xff1a;
读取一个test.txt文件
删除指定字符之前的文本
需求明白之后#xff0c;下面开始动手写代码虽然很简单第一次实现其实也有些注意的事项。
单个文件的读操作
我们先假设一个需求如下
读取一个test.txt文件
删除指定字符之前的文本
需求明白之后下面开始动手写代码代码很简单。就直接上全部的细节看注释
import sys
filePath /Users/xxxxxx/Desktop/test.txt
# 打开文件
files open(filePath, r)
# 转成list
f_list files.readlines()
tempIndex 0
# 对f_list 循环 每个index对应一行数据
for index in range(len(f_list)):
# temp是获取一行的数据
temp f_list[index]
# 判断test是不是temp这行数据的首位 如果是首位 result为true
result temp.find(test) 0
if result:
# 如果是首位 这就是我们要删除的位置 获取他的index
tempIndex index
break
# 存放新数据
tempContainer []
for index in range(len(f_list)):
if index tempIndex:
# tempIndex之前的数据我们不处理把tempindex之后的数据存到新的list里面
tempContainer.append(f_list[index])
# 这就获得了我们需要的新数据
print(tempContainer)
以上代码就完成了需求非常简单。有几个注意点
直接用open获取的数据无法进行处理所以先转成可以处理的数据比如list或者字典等。
python的open和C的类似有r,r, w, w等各种状态见具体介绍
open函数的常见操作方式
1、r 打开只读文件该文件必须存在。
2、r 打开可读写的文件该文件必须存在。
3、w 打开只写文件若文件存在则文件长度清为0即该文件内容会消失。若文件不存在则建立该文件。
4、w 打开可读写文件若文件存在则文件长度清为零即该文件内容会消失。若文件不存在则建立该文件。
多文件读写保存
假设一个需求如下
多个文件都要处理
和上面的test.txt处理方式类似
处理完之后保存到一个新文件夹内
其实这个需求实质上只是比单文件读操作只多了一个写操作。其他的就是逻辑稍微绕一下
怎么同时操作多个文件
然后怎么保存成多个文件
肯定是不能一个文件一个文件的去操作太麻烦了。说下我的实现思路
把文件放在一个文件夹内
获取这个文件夹内所有的文件名拼接成文件路径
然后创建一个空的新文件夹用新的空文件夹加上原始的文件名拼接成新的路径然后写入进去
下面上代码
import os
# 初始的文件夹路径
filePath /Users/xxxxxxxx/Desktop/fileDocument
# 存放新文件的空白文件夹
newFilePath /Users/xxxxxxxx/Desktop/newFileDocument
# 获取文件夹下所有文件名
fileNames os.listdir(filePath)
for file in fileNames:
# 如果当前的文件名包含了txt,就当它是正确的文件并不严谨
if file.find(txt) 0:
# 拼接成我们要读取的完整路径
fileFullPath filePath / file
# open 函数 默认是 r类型
singleFile open(fileFullPath)
# 转换成list数据
singleFile_list singleFile.readlines()
tempIndex 0
for index in range(len(singleFile_list)):
temp singleFile_list[index]
result temp.find(min) 0
if result:
tempIndex index
break
# 拼接新的文件路径
newSingleFileFullPath newFilePath / file
# 以 w 方式打开新的空白文件
newFile open(newSingleFileFullPath, w)
for index in range(len(singleFile_list)):
if index tempIndex:
# 写入tempindex行之后的数据
newFile.writelines(singleFile_list[index])
newFile.close()
上面的代码其实没啥要介绍的就是一个for循环然后逻辑和单个文件读操作一样只是多了个写操作。
End
这只是自己因缘巧合写的一些简单的实现并没有去系统的学习Python好多API不了解可能这种处理不是很好没注重性能没多线程。等以后深入学习了再优化。