python读取坐标文本文件_Python 实现文件读写、坐标寻址、查找替换功能

读文件

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

#打开文件

f = open("data.txt","r") #设置文件对象

print(f)#文件句柄

f.close() #关闭文件

#为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代

with open('data.txt',"r") as f: #设置文件对象

str = f.read() #可以是随便对文件的操作

完全读取文件

#完全读取文件

f = open("data.txt","r") #设置文件对象

string1 = f.read() #将txt文件的所有内容读入到字符串string1中

f.close() #将文件关闭

print(string1)

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

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

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)

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

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

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)

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

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

data = []

for line in open("data.txt","r"): #设置文件对象并读取每一行文件

data.append(line) #将每一行文件加入到list中

print(data )

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

f = open("data.txt","r") #设置文件对象

data = f.readlines() #直接将文件中按行读到list里,效果与方法2一样

f.close() #关闭文件

print(data)

将文件读入numpy数组中

#将文件读入数组中

import numpy as np

data = np.loadtxt("data.txt") #将文件中数据加载到data数组里

print(data)

写文件列表写入文件

#列表写入文件(直接)

data = ['a','b','c']

#单层列表写入文件

with open("data.txt","w") as f:

f.writelines(data)

#列表写入文件(加入一些东西)

data = ['a','b','c']

#单层列表写入文件

with open("data.txt","w") as f:

for i in data:

f.write(i+'\r\n')

#二维列表写入文件

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)

#第二种方法,直接将每一项都写入文件

data =[ ['a','b','c'],['a','b','c'],['a','b','c']]

with open("data.txt","w") as f: #设置文件对象

for i in data: #对于双层列表中的数据

f.writelines(i)

#将数组写入文件

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)

非替换写入

#非替换写入

#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()

文件坐标插入读取

# 在开始使用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())

内容查找

# 内容查找

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()

替换

#替换

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()

#排序 去除空行 注释

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 实现文件读写、坐标寻址、查找替换功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566817.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

北京大学计算机科学李丰,中文智能问答系统作业解析-北京大学计算机科学技术研究所.PDF...

中文智能问答系统作业解析-北京大学计算机科学技术研究所中文智能问答系统作业解析互联网数据挖掘北京大学计算机研究所语言计算与互联网挖掘研究室封闭测试结果排序队伍 封闭测试 开放测试1200012753 1200012756 1200012767 1200012900 19.9 20.41100016614 1100016639 120001…

python4发布_Python 3.4.1 发布

Python 3.4.1 发布了,改进记录:Core and BuiltinsIssue #21418: Fix a crash in the builtin function super() when called without argument and without current frame (ex: embedded Python).Issue #21425: Fix flushing of standard streams in the…

浙江大学计算机考研408上岸,2016年跨考上岸浙江大学计算机研究生,初试412分经验谈!...

本帖最后由 sqrt7 于 2019-5-22 18:49 编辑一、俺为什么读书 。之前好多同学都加我QQ,让我介绍计算机考研的经验,在这里,我就以自己这一年左右时间的经历和感受谈一谈吧。先报一下自己的分数,总分412。总得来说这次考研发挥还是挺…

医疗小程序源码_不懂商城小程序源码,如何快速创建小程序商城?

小程序在近来发展十分迅速,从微信小程序游戏出发,到现在渗透到各种功能类型,甚至已经扩展到了其他的应用程序上。那么如今很多的小程序商城应该怎么创建呢?不懂商城小程序源码也可以自己制作吗?当然可以,下…

python的标准类型内建函数_Python随手笔记之标准类型内建函数

Python提供了一些内建函数用于基本对象类型:cmp(),repr(),str(),type()和等同于repr()的( )操作符(1)type()type的用法如下:type(object)接受一个对象作为参数,并返回它的类型。他的返回值是一个类型对象。…

计算机快捷键任务管理器,任务管理器快捷键,小编告诉你电脑如何打开任务管理器...

电脑系统的任务管理器是Windows提供有关计算机性能的信息,并显示了计算机上所运行的程序和进程的详细信息,从这里可以查看到当前系统的进程数、CPU使用比率、更改的内存、容量等数据。那么,任务管理器怎么样打开呢?下面&#xff0…

mysql中对比月_详解Mysql中日期比较大小的方法

假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql:代码如下select * from product where add_time 2013-01-12对于这种语句,如果你存储的格式是YY-mm-dd是这样的,那么OK,如果你存储的格式是&#…

html文字如何排布成圆形,css多个扇形怎么拼凑成圆?

可以用斜切旋转扇形.pie {position: relative;margin: 1em auto;padding: 0;width: 32em;height: 32em;border-radius: 50%;list-style: none;overflow: hidden;}.slice {overflow: hidden;position: absolute;top: 0;right: 0;width: 50%;height: 50%;transform-origin: 0% 10…

python webdriver 等待网页已登录_python基础编程:python+selenium实现163邮箱自动登陆的方法...

本文介绍了让我们先来预览一下代码运行效果吧:首先分析163邮箱登陆页面的网页结构(按F12或单击鼠标右键选择审查元素)1、定位到登陆框(注意登录框是一个iframe,如果不定位到iframe的话是无法找到之后的邮箱地址框和密码输入框的)2、定位到邮箱地址框(nam…

计算机应用技木就业前京,计算机专业毕业的研究生在京就业情况及启示.doc

计算机专业毕业的研究生在京就业情况及启示计算机专业毕业的研究生在京就业情况及启示【摘要】本项研究通过走访调研、问卷调查的方式,对部分在京工作的计算机方向毕业研究生的生活情况、工作状况、就业影响因素等方面进行就业跟踪调查,进而分析当前就业…

python爬取文字编程_Python爬取网站内容并进行文字预处理(英文)

注:输出部分用省略号代替...爬取网站 import urllib.requestresponse urllib.request.urlopen(http://php.net/) html response.read()print(html) 输出: b\n\n\n\n \n \n\n PHP: Hypertext Preprocessor\n\n \n \n 转换为干净文本 import urllib.requ…

2021年考计算机考研三战,考研越来越难,2021考研人将会面临哪三大挑战?

2.大批二战三战甚至四战的考生加入在17考研之前的高分考生,是可以调剂一所不错的学校。但这三年的情况是,不少400多的考生都无学可上,这一点很多关注往年考研调剂的小伙伴肯定是有所了解的。这些已经“半步踏入研究生生活”的考生&#xff0c…

ios开发 多人语音聊天_在 Unity 多人游戏中实现语音对话

我们曾经不止一次为大家分享过游戏中的实时音视频,例如怎么实现游戏中的听声辨位、狼人杀游戏中的语音聊天挑战等。基本上,都是从技术原理和 Agora SDK 出发来分享的。这次我们换一个角度。我们将从 Unity 开发者的角度分享一下,在 Unity 中如…

搜索用计算机弹奏9277的数字,计算机基础知识参考试题(含答案)

计算机基础知识参考试题(含答案)计算机基础知识参考试题及答案解析一、单选题1.1946年诞生的世界上公认的第一台电子计算机是( ENIA)。2.第一台计算机在研制过程中采用了哪位科学家的两点改进意见(冯诺依曼)。3.第二代电子计算机所采用的电子元件是(晶体管)。4.硬盘属于(外部存…

dscp值_TOS-DSCP对照表

TOS/DSCP对照表在IP网络中,IPv4报文中有三种承载QoS优先级标签的方式,分别为基于二层的CoS字段(IEEE802.1p)的优先级、基于IP层的IP优先级字段ToS优先级和基于IP层的DSCP(Differentiated Services Codepoint)字段优先级。每种优先级的定义如下&#xff1…

2019年大学计算机基础操作题,2019年大学计算机基础试题及答案(14页)-原创力文档...

计算机基础试题及答案一、选择题1. 冯诺依曼计算机工作原理的设计思想是。(B)A. 程序设计B. 程序存储C. 程序编制D. 算法设计2. 计算机的逻辑判断能力决定于(C)A. 硬件B. 体积C. 编制的软件D. 基本字长3. 构成计算机物理实体的部件称为(C)A. 计算机软件B. 计算机程序C. 计算机硬…

python开发技术文档范文_程序员编写技术文档的新手指南

这是一篇帮助你给第一个项目写文档的指南。万事开头难,我希望这份指南能把你引导到正确的道路上。最后,你应该有一个可以公开发布的项目。请轻松地阅读完这篇文章,或者简单地把它当作参考。为什么要写文档?你将会在 6 个月后使用你…

长沙计算机中级职称分数公布,大家所期待的2020年湖南省长沙中级职称评审公示...

原标题:大家所期待的2020年湖南省长沙中级职称评审公示年底了,各大考试差不多都快结束了。唯一就是湖南长沙的土建中级职称评审结果待公示,湖南岳阳,湘潭等地方也相继公示。2019年湖南省中级职称评审(长沙市)12月24号公示&#xf…

android平台上持久化存储3种手段_深入学习Redis :持久化

前言在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。本文将先说明上述几种技术分别解决了Redis高可用的什么问题;然后详细介绍Redis的持久…

印刷 计算机控制系统,陶瓷印刷计算机直接制版控制系统设计与实现

摘要:"陶瓷印刷计算机直接制版系统"是为陶瓷印刷制作印版的高度自动化系统,它将计算机引入制版过程中,简化印版制作工序,提高印版制作质量. 首先,本文介绍计算机直接制版系统的发展现状和趋势,并提出以此为基础,开发陶瓷印刷计算机直接制版系统的必要性和…