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 相关文章推荐
数据挖掘之Apriori算法详解和Python实现代码分享
Nov 07 Python
Python读取mp3中ID3信息的方法
Mar 05 Python
基于进程内通讯的python聊天室实现方法
Jun 28 Python
Python搭建HTTP服务器和FTP服务器
Mar 09 Python
Python 从相对路径下import的方法
Dec 04 Python
对Python3中bytes和HexStr之间的转换详解
Dec 04 Python
解决Python下json.loads()中文字符出错的问题
Dec 19 Python
python 用for循环实现1~n求和的实例
Feb 01 Python
Flask-WTF表单的使用方法
Jul 12 Python
python应用文件读取与登录注册功能
Sep 23 Python
Python udp网络程序实现发送、接收数据功能示例
Dec 09 Python
Ubuntu16.04安装python3.6.5步骤详解
Jan 10 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
Symfony数据校验方法实例分析
2015/01/26 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
2016/12/15 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
分享14个很酷的jQuery导航菜单插件
2011/04/25 Javascript
jquery星级插件、支持页面中多次使用
2012/03/25 Javascript
Bootstrap 附加导航(Affix)插件实例详解
2016/06/01 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
Python程序语言快速上手教程
2012/07/18 Python
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
python制作抖音代码舞
2019/04/07 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
2020/05/26 HTML / CSS
自我评价怎么写好呢?
2013/12/05 职场文书
人力资源作业细则
2014/03/03 职场文书
美术指导助理求职信
2014/04/20 职场文书
无毒社区工作方案
2014/05/23 职场文书
2014教师个人自我评价范文
2014/09/13 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
领导工作表现评语
2015/01/04 职场文书
学生逃课检讨书
2015/02/17 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书