Python 实现文件读写、坐标寻址、查找替换功能


Posted in Python onSeptember 11, 2019

读文件

打开文件(文件需要存在)

#打开文件
f = open("data.txt","r")  #设置文件对象
print(f)#文件句柄
f.close() #关闭文件
#为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代
with open('data.txt',"r") as f:  #设置文件对象
  str = f.read()  #可以是随便对文件的操作

Python 实现文件读写、坐标寻址、查找替换功能

完全读取文件

#完全读取文件
f = open("data.txt","r")  #设置文件对象
string1 = f.read()   #将txt文件的所有内容读入到字符串string1中
f.close()  #将文件关闭
print(string1)

Python 实现文件读写、坐标寻址、查找替换功能

按按行读取整个文件方法一(删除回车)

#按行读取整个文件方法一(删除回车)
data = []
f = open("data.txt","r")  #设置文件对象
line = f.readline()
if line !='\n' and line[len(line) -1 if len(line)-1>0 else 0] == "\n":#去掉换行符,也可以不去
  line_ = line[:-1]
data.append(line_)
while line:       #直到读取完文件
  line = f.readline() #读取一行文件,包括换行符
  if line !='' and line[len(line) -1 if len(line)-1>0 else 0] == "\n":#去掉换行符,也可以不去
    line_ = line[:-1]
    data.append(line_)
f.close() #关闭文件
print(data)

Python 实现文件读写、坐标寻址、查找替换功能

按行读取整个文件方法一(不删除回车)

#按行读取整个文件方法一(不删除回车)
data = []
f = open("data.txt","r")  #设置文件对象
line = f.readline()
data.append(line)
while line:       #直到读取完文件
  line = f.readline() #读取一行文件,包括换行符
  if line !='':
    data.append(line)
f.close() #关闭文件
print(data)

Python 实现文件读写、坐标寻址、查找替换功能

按行读取整个文件第二种方法

#按行读取整个文件第二种方法
data = []
for line in open("data.txt","r"): #设置文件对象并读取每一行文件
  data.append(line)        #将每一行文件加入到list中
print(data )

Python 实现文件读写、坐标寻址、查找替换功能

按行读取整个文件第三种方法

f = open("data.txt","r")  #设置文件对象
data = f.readlines() #直接将文件中按行读到list里,效果与方法2一样
f.close()       #关闭文件
print(data)

Python 实现文件读写、坐标寻址、查找替换功能

将文件读入numpy数组中

#将文件读入数组中
import numpy as np
data = np.loadtxt("data.txt")  #将文件中数据加载到data数组里
print(data)

Python 实现文件读写、坐标寻址、查找替换功能

写文件列表写入文件

#列表写入文件(直接)
data = ['a','b','c']


#单层列表写入文件
with open("data.txt","w") as f:
  f.writelines(data)

Python 实现文件读写、坐标寻址、查找替换功能

#列表写入文件(加入一些东西)  
data = ['a','b','c']
#单层列表写入文件
with open("data.txt","w") as f:
  for i in data:
    f.write(i+'\r\n')

Python 实现文件读写、坐标寻址、查找替换功能

#二维列表写入文件    
data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("data.txt","w") as f:                          #设置文件对象
  for i in data:
    i = str(i).strip('[').strip(']').replace(',','').replace('\'','').replace(' ',',')+'\r\n' #将其中每一个列表规范化成字符串
    print(i)
    f.write(i)

Python 实现文件读写、坐标寻址、查找替换功能

#第二种方法,直接将每一项都写入文件
data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("data.txt","w") as f:                          #设置文件对象
  for i in data:                                 #对于双层列表中的数据
    f.writelines(i) 
   
#将数组写入文件

Python 实现文件读写、坐标寻址、查找替换功能

Python 实现文件读写、坐标寻址、查找替换功能

import numpy as np
data =[ [1,2,3],[4,5,6],[7,8,9]]
# 第一种方法将数组中数据写入到data.txt文件
np.savetxt("data1.txt",data) 
# 第二种方法将数组中数据写入到data.npy文件
np.save("data",data)   
import numpy as np
filename = 'data.txt' # txt文件和当前脚本在同一目录下,所以不用写具体路径
dataele_list = []
with open(filename, 'r') as f:
  while True:
    lines = f.readline() # 整行读取数据
    if not lines:
      break
    dataele_tmp = [float(i) for i in lines.split()] # 将整行数据分割处理,如果分割符是空格,括号里就不用传入参数,如果是逗号, 则传入‘,'字符。
    dataele_list.append(dataele_tmp) # 添加新读取的数据
dataele_np = np.array(dataele_list) # 将数据从list类型转换为array类型。
print(dataele_np)

Python 实现文件读写、坐标寻址、查找替换功能

Python 实现文件读写、坐标寻址、查找替换功能

非替换写入

#非替换写入
#r+ 模式的指针默认是在文件的开头
# 如果直接写入,则会覆盖源文件,通过read() 读取文件后,指针会移到文件的末尾,再写入数据就不会有问题了。
# 这里也可以使用a 模式
f2 = open('data.txt','r+')
f2.read()
f2.write('\r\nhello boy!')
f2.close()
#非替换写入
f2 = open('data.txt','a')
f2.write('\r\nhello fff!')
f2.close()

Python 实现文件读写、坐标寻址、查找替换功能

文件坐标插入读取

# 在开始使用open打开文件时候,将打开方式从r,换成rb即可 才可以使用seek移动
f = open('data.txt','rb')  
#f.tell()  #获取指针位置

print("初始位置",f.tell())
# 开头位置偏离3位置
f.seek(3,0)
print("开头位置偏离3位置",f.tell())
print("==",f.readline(),"==")
print("读取一行后位置",f.tell())
# 当前位置偏离5位置
f.seek(5,1)
print("当前位置偏离5位置",f.tell())
print("==",f.readline(),"==")
print("读取一行后位置",f.tell())
# 结尾偏离5位置
f = open('data.txt','rb')
f.seek(0,2)
print("结尾偏离0位置",f.tell())
print("==",f.readline(),"==")
print("读取一行后位置",f.tell())
f.seek(3,2)
print("结尾偏离3位置",f.tell())
print("==",f.readline(),"==")
print("读取一行后位置",f.tell())

Python 实现文件读写、坐标寻址、查找替换功能

内容查找

# 内容查找
import re
f = open('data.txt')
source = f.read()
f.close()
r = 'www'
s = len(re.findall(r,source))
print(s)
import re
f = open("data.txt",'r')
count = 0
for s in f.readlines():
  li = re.findall("www",s)
  if len(li)>0:
    count = count + len(li)
print ("Search",count, "www")
f.close()

Python 实现文件读写、坐标寻址、查找替换功能

Python 实现文件读写、坐标寻址、查找替换功能

替换

#替换
f1 = open('data.txt','r')
f2 = open('data2.txt','w')
for s in f1.readlines():
  f2.write(s.replace('www','w')+'\r\n')
f1.close()
f2.close()

Python 实现文件读写、坐标寻址、查找替换功能

#排序 去除空行 注释
f = open('data.txt')
result = list()
for line in f.readlines():        # 逐行读取数据
  line = line.strip()        #去掉每行头尾空白
  if not len(line) or line.startswith('#'):  # 判断是否是空行或注释行
    continue         #是的话,跳过不处理
  result.append(line)       #保存
f.close()
result.sort()            #排序结果
print(result)
f = open('data2.txt','w')
for line in result:
  f.write(line+'\r\n')

Python 实现文件读写、坐标寻址、查找替换功能

Python 实现文件读写、坐标寻址、查找替换功能

总结

以上所述是小编给大家介绍的Python 实现文件读写、坐标寻址、查找替换功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python Deque 模块使用详解
Jul 04 Python
Python实现给文件添加内容及得到文件信息的方法
May 28 Python
Python实现递归遍历文件夹并删除文件
Apr 18 Python
Python中property函数用法实例分析
Jun 04 Python
django 实现电子支付功能的示例代码
Jul 25 Python
python将秒数转化为时间格式的实例
Sep 16 Python
Python QQBot库的QQ聊天机器人
Jun 19 Python
tensorflow-gpu安装的常见问题及解决方案
Jan 20 Python
解决python脚本中error: unrecognized arguments: True错误
Apr 20 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
Jul 07 Python
Python中pass的作用与使用教程
Nov 13 Python
python字典的元素访问实例详解
Jul 21 Python
Python使用APScheduler实现定时任务过程解析
Sep 11 #Python
基于Python实现剪切板实时监控方法解析
Sep 11 #Python
python连接、操作mongodb数据库的方法实例详解
Sep 11 #Python
面向对象学习之pygame坦克大战
Sep 11 #Python
Python整数与Numpy数据溢出问题解决
Sep 11 #Python
python中通过selenium简单操作及元素定位知识点总结
Sep 10 #Python
用Python画一个LinkinPark的logo代码实例
Sep 10 #Python
You might like
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
setTimeout与setInterval在不同浏览器下的差异
2010/01/24 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
js setTimeout opener的用法示例详解
2013/10/23 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
javascript性能优化之事件委托实例详解
2015/12/12 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
vue2.0结合Element实现select动态控制input禁用实例
2017/05/12 Javascript
浅谈React的最大亮点之虚拟DOM
2018/05/29 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
JavaScript读取本地文件常用方法流程解析
2020/10/12 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
分析在Python中何种情况下需要使用断言
2015/04/01 Python
Python实现多线程HTTP下载器示例
2017/02/11 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
2017/09/08 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
python中使用np.delete()的实例方法
2021/02/01 Python
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
买房委托公证书
2014/04/08 职场文书
个人师德师风自我剖析材料
2014/09/29 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL