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和C语言混合编程实例
Jun 04 Python
解决python3在anaconda下安装caffe失败的问题
Jun 15 Python
Python实现一个Git日志统计分析的小工具
Dec 14 Python
Python简单实现的代理服务器端口映射功能示例
Apr 08 Python
把csv文件转化为数组及数组的切片方法
Jul 04 Python
python for循环输入一个矩阵的实例
Nov 14 Python
python 发送和接收ActiveMQ消息的实例
Jan 30 Python
python try 异常处理(史上最全)
Mar 07 Python
Python如何使用argparse模块处理命令行参数
Dec 11 Python
40行Python代码实现天气预报和每日鸡汤推送功能
Feb 27 Python
tensorflow图像裁剪进行数据增强操作
Jun 30 Python
Python爬取股票信息,并可视化数据的示例
Sep 26 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
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
浅谈Javascript的静态属性和原型属性
2015/05/07 Javascript
javascript 中的 delete及delete运算符
2015/11/15 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
2016/05/07 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
从0到1搭建Element的后台框架的方法步骤
2019/04/10 Javascript
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
Python使用Scrapy爬取妹子图
2015/05/28 Python
python字符串string的内置方法实例详解
2018/05/14 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
Python3爬虫RedisDump的安装步骤
2021/02/20 Python
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
历史学专业毕业生求职信
2013/09/27 职场文书
学校运动会霸气口号
2014/06/07 职场文书
整改报告怎么写
2014/11/06 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书
JS新手入门数组处理的实用方法汇总
2021/04/07 Javascript
浅析MySQL如何实现事务隔离
2021/06/26 MySQL