记录下第一次使用Python读写文件的过程,虽然很简单,第一次实现其实也有些注意的事项。

单个文件的读操作:

我们先假设一个需求如下:

读取一个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不了解,可能这种处理不是很好,没注重性能,没多线程。等以后深入学习了再优化。

python读取写入文件_Python文件读写保存操作相关推荐

  1. python文件读取写入元组_python文件和元组

    python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹 ...

  2. python csv写入字典_python csv与字典操作

    # encoding: utf-8 import csv d1 = {'banana':3,'apple':4,'pear':1,'orange':2} d2 = {'banana':3,'orang ...

  3. python文件读取写入元组_python文件的读写

    1.使用open内置函数打开一个文件 file:相对路径或者绝对路径 mode:文件的模式. r 只读   w只写  b:二进制  t:以文本形式打开等等 encoding:编码方式,windows下 ...

  4. python文件读取写入实践_python文件写入实例分析

    本文实例讲述了python文件写入的用法.分享给大家供大家参考.具体分析如下: Python中wirte()方法把字符串写入文件,writelines()方法可以把列表中存储的内容写入文件. f=fi ...

  5. python怎么保存文件代码_Python文件读写保存操作的实现代码

    本篇文章给大家带来的内容是关于Python文件读写保存操作的实现代码 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 记录下第一次使用Python读写文件的过程,虽然很简单,第一次实 ...

  6. python读取写入文件_Python读取文件,写入文件,打开文件,删除文件,复制文件

    python读取写入文件 In this tutorial we are going to learn about Python File Operations such as python read ...

  7. python读取写入文件_Python读取和写入文件

    1 从文件中读取数据 1.1 读取整个文件 创建名为test的txt文本文件,添加内容如下所示: 1234567890 2345678901 3456789012 实现代码: with open('t ...

  8. Python读取多个excel文件(删除字段、数据格式转换、dataframe多表合并)并写入ElasticSearch实战(自动创建索引、写入ElasticSearch、探索性数据分析)

    Python读取多个excel文件(删除字段.数据格式转换.dataframe多表合并)并写入ElasticSearch实战(自动创建索引.写入ElasticSearch.探索性数据分析) 目录

  9. python读取大文件目录_Python读取系统文件夹内所有文件并统计数量的方法

    大家先看一下Python os模块中的部分函数 python 路径相关的函数 os.listdir(dirname):列出dirname下的目录和文件 os.getcwd():获得当前工作目录 os. ...

  10. 使用Python读取LabVIEW TDMS 格式文件转成Excel格式+多进程版本

    使用Python读取LabVIEW TDMS 格式文件转成Excel格式+多进程版本 文章目录 使用Python读取LabVIEW TDMS 格式文件转成Excel格式+多进程版本 前言: 背景 tm ...

最新文章

  1. 微型计算机的EMC设计视频,干货 | EMC设计有多难,看完这31个电磁兼容标准电路,瞬间懂了...
  2. iOS进阶之类扩展(Extension)(8)
  3. 牛客2020年愚人节比赛
  4. Java高并发编程详解系列-线程池原理自定义线程池
  5. 【jQuery笔记Part1】01-jQuery简介集成
  6. SQL:postgresql可以使用127.0.0.1连接不能使用ip连接解决方法
  7. Simple Mail Transfer Protocol --- SMTP协议
  8. mybatis-缓存
  9. 239MB精简版win7系统安装成功
  10. PHP将一个pdf 拆分按需要页码组装新的pdf
  11. 无法将数值apsdaemon写入键
  12. 想学习高速ADC/DAC/SDR项目这个项目你不得不理解
  13. 支付宝sdk集成,报系统繁忙 请稍后再试(ALI64)
  14. 【深度学习】猫狗识别TensorFlow2实验报告
  15. stm32cubeide烧写程序_STM32Cube工具,覆盖开发全过程(一)
  16. aircrack-ng 介绍、功能测试及部分源码分析
  17. response.text和response.content
  18. L1-079 天梯赛的善良 (20 分)
  19. 微信小程序调用python分析图片_小帅丶干货之图像识别在微信小程序展示
  20. FLUENT连续性方程不收敛FLUENT求解器设置

热门文章

  1. 我的机器人现在无处可去。 无家可归。 无服务器。
  2. hotspot线程模型_Linux上的HotSpot GC线程CPU占用空间
  3. 早期更多失败– Java 8
  4. 介绍OpenHub框架
  5. jboss4 java_JBoss核心Java Web服务
  6. rube3xxx_Rube GoldbergSpring整合
  7. 滥用static_沉思滥用:“强力使用,破坏滥用”
  8. JavaOne 2015 –提交的技巧和建议
  9. EAGER的获取是代码的味道
  10. 注释,无处不在的注释