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读写文件方法总结
Jun 09 Python
Python实现随机生成有效手机号码及身份证功能示例
Jun 05 Python
python实现俄罗斯方块
Jun 26 Python
django如何连接已存在数据的数据库
Aug 14 Python
TensorFlow实现iris数据集线性回归
Sep 07 Python
python实现图书借阅系统
Feb 20 Python
深入了解Python iter() 方法的用法
Jul 11 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
Dec 27 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
在pycharm中为项目导入anacodna环境的操作方法
Feb 12 Python
django列表筛选功能的实现代码
Mar 27 Python
pytorch中的numel函数用法说明
May 13 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
php实现遍历文件夹的方法汇总
2017/03/02 PHP
基于JQuery的密码强度验证代码
2010/03/01 Javascript
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
深入浅析JavaScript面向对象和原型函数
2016/02/06 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
jquery 中toggle的2种用法详解(推荐)
2016/09/02 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
Python使用OpenCV进行标定
2018/05/08 Python
Python3常用内置方法代码实例
2019/11/18 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
2020/02/28 Python
python两个list[]相加的实现方法
2020/09/23 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
python实现猜拳游戏项目
2020/11/30 Python
新加坡网上美容店:Hermo新加坡
2019/06/19 全球购物
销售员自我评价怎么写
2013/09/19 职场文书
营销与策划专业毕业生求职信
2013/11/01 职场文书
青年文明号复核材料
2014/02/11 职场文书
写给父母的感谢信
2015/01/22 职场文书
领导欢迎词范文
2015/01/26 职场文书
Python制作表白爱心合集
2022/01/22 Python
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL