python读取hid(python读取hive数据库)

python读取hid(python读取hive数据库)1.1 读取整个文件

本文目录一览:

Python如何从文件读取数据

1.1 读取整个文件

要读取文件,需要一个包含几行文本的文件(文件PI_DESC.txt与file_reader.py在同一目录下)

PI_DESC.txt

3.1415926535

8979323846

2643383279

5028841971

file_reader.py

with open(“PI_DESC.txt”) as file_object:

contents = file_object.read()

print(contents)

我们可以看出,读取文件时,并没有使用colse()方法,那么未妥善的关闭文件,会不会导致文件收到损坏呢?在这里是不会的,因为我们在open()方法前边引入了关键字with,该关键字的作用是:在不需要访问文件后将其关闭

1.2文件路径

程序在读取文本文件的时候,如果不给定路径,那么它会先在当前目录下进行检索,有时候我们需要读取其他文件夹中的路径,例如:

现在文件PI_DESC.txt存储在python目录的子文件夹txt中

那么我们读取文本内容的代码得修改为:

with open(“txt\PI_DESC.txt”) as file_object:

contents = file_object.read()

print(contents)

给open参数传递的参数得给相对路径

在Windows中,使用反斜杠(\),但是由于python中,反斜杠被视为转义字符,在Windows最好在路径开头的单(双)引号前加上r

相对路径:即相对于程序文件的路径

绝对路径:即文本在硬盘上存储的路径

使用绝对路径的程序怎么写呢 ?

with open(r”D:\python\txt\PI_DESC.txt”) as file_object:

contents = file_object.read()

print(contents)

1.3逐行读取

读取文件时,可能需要读取文件中的每一行,要以每一行的方式来检查文件或者修改文件,那么可以对文件对象使用for循环

file_path = ‘txt\PI_DESC.txt’with open(file_path) as file_object:

for line in file_object:

print(line)

程序运行结果如下:

通过运行结果我们可以看出,打印结果中间有很多空白行,这些空白行是怎么来的呢?因为在这个文件中,每行的末尾都有一个看不见的换行符,而print语句也会加一个换行符,因此每行末尾就有2个换行符:一个来自文件,另外一个来自print,消除这些换行符,只需要使用方法rstrip()

file_path = ‘txt\PI_DESC.txt’with open(file_path) as file_object:

for line in file_object:

print(line.rstrip())

打印结果

通过运行结果我们可以看出,打印结果中间有很多空白行,这些空白行是怎么来的呢?因为在这个文件中,每行的末尾都有一个看不见的换行符,而print语句也会加一个换行符,因此每行末尾就有2个换行符:一个来自文件,另外一个来自print,消除这些换行符,只需要使用方法rstrip()

file_path = ‘txt\PI_DESC.txt’with open(file_path) as file_object:

for line in file_object:

print(line.rstrip())

打印结果

1.4创建一个包含文件各行内容的列表

使用关键字with时,open()返回的文件对象只能在with代码块可用,如果要在with代码块外访问文件的内容,可在with块中将文件各行存储在一个列表,并在with代码块外使用该列表

file_path = ‘txt\PI_DESC.txt’with open(file_path) as file_object:

lines = file_object.readlines()for line in lines:

print(line.rstrip())

1.5使用文件的内容

在上面一节中我们提到把数据提取到内存中,那么我们就可以对数据进行随心所欲的操作了

需要:将圆周率连在一起打印出来(删除空格),并打印其长度

file_path = ‘txt\PI_DESC.txt’with open(file_path) as file_object:

lines = file_object.readlines()pi_str = ”for line in lines:

pi_str += line.strip()print(pi_str.rstrip())print(len(pi_str.rstrip()))

file_path = ‘txt\PI_DESC.txt’with open(file_path) as file_object:

lines = file_object.readlines()pi_str = ”for line in lines:

pi_str += line.strip()print(pi_str.rstrip())print(len(pi_str.rstrip()))

注意最后print语句并没有缩进,如果是缩进的话就会每取一行打印一次

打印效果如下

python读取hid(python读取hive数据库)

python 读取文件

#!/usr/bin/python2.7

import random,re

f0=file(‘proxys.txt’,’r’)

dat0=f0.readlines()

f0.close()

#提取含有$1sec的行(我理解你想按sec的大小排序。)

dat1=[]

for i in dat0:

dat1.append((i,re.search(r’\$(\d+)sec’,i).group(1)))

#现在dat1里面的数据是在原来的每一行前面加了一列sec的值。

dat2=[]

for i in dat1:

if i[0]==1:

dat2.append(i[1])

#现在取出了所有sec==1的行,随机取一行

dat3=random.choice(dat2)

c1=re.search(r'((\d{1,3}\.?){4}):(\d+)’,dat3).group(1)

c2=re.search(r'((\d{1,3}\.?){4}):(\d+)’,dat3).group(3)

python 读取大文件数据怎么快速读取

python中读取数据的时候有几种方法,无非是read,readline,readlings和xreadlines几种方法,在几种方法中,read和xreadlines可以作为迭代器使用,从而在读取大数据的时候比较有效果.

在测试中,先创建一个大文件,大概1GB左右,使用的程序如下:

[python] view plaincopyprint?

import os.path

import time

while os.path.getsize(‘messages’) 1000000000:

f = open(‘messages’,’a’)

f.write(‘this is a file/n’)

f.close()

print ‘file create complted’

在这里使用循环判断文件的大小,如果大小在1GB左右,那么结束创建文件。–需要花费好几分钟的时间。

测试代码如下:

[python] view plaincopyprint?

#22s

start_time = time.time()

f = open(‘messages’,’r’)

for i in f:

end_time = time.time()

print end_time – start_time

break

f.close()

#22s

start_time = time.time()

f = open(‘messages’,’r’)

for i in f.xreadlines():

end_time = time.time()

print end_time – start_time

break

f.close()

start_time = time.time()

f = open(‘messages’,’r’)

k= f.readlines()

f.close()

end_time = time.time()

print end_time – start_time

使用迭代器的时候,两者的时间是差不多的,内存消耗也不是很多,使用的时间大概在22秒作用

在使用完全读取文件的时候,使用的时间在40s,并且内存消耗相当严重,大概使用了1G的内存。。

其实,在使用跌倒器的时候,如果进行连续操作,进行print或者其他的操作,内存消耗还是不可避免的,但是内存在那个时候是可以释放的,从而使用迭代器可以节省内存,主要是可以释放。

而在使用直接读取所有数据的时候,数据会保留在内存中,是无法释放这个内存的,从而内存卡死也是有可能的。

在使用的时候,最好是直接使用for i in f的方式来使用,在读取的时候,f本身就是一个迭代器,其实也就是f.read方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/23214.html

(0)
上一篇 2023-11-27
下一篇 2023-11-28

相关推荐

  • 企业级云数据库最佳实践[通俗易懂]

    企业级云数据库最佳实践[通俗易懂]云数据库 PostgreSQL 是京东智联云基于开源的 PostgreSQL构建的一款功能强大的企业级关系型数据库管理系统。加州大学计算机系开发的PostgreSQL,有“世界上可获得的最先进的开源…

    2023-02-25
    146
  • mysql备份与恢复命令_mysql备份还原数据

    mysql备份与恢复命令_mysql备份还原数据1、备份命令(用户名:root;密码:123;端口:3306) 格式:mysqldump h主机名 p端口 u用户名 p密码 database 数据库名 文件名.sql 例如: 2、备份压缩(本地可省

    2023-02-25
    133
  • Python Tuple Usage Guide

    Python Tuple Usage GuidePython是一种极受欢迎的编程语言,其中元组(Tuple)是Python中的一种重要的数据类型。元组在许多场景下都非常有用,因为它可以帮助您存储和操作多个值。本篇文章将会向您介绍Python中元组的概念、创建、修改及元组相关的各种操作。

    2024-09-13
    22
  • 学习Python 3解码

    学习Python 3解码Python是一种高级编程语言,具有简洁、易读且可扩展性强的语法结构,非常适合初学者入门。在Python3中,解码是一个重要的概念。对于初学者来说,学习Python解码对于理解字符编码有重要作用,也是进一步学习其他编程语言和操作系统的必要前提。

    2024-08-27
    23
  • 如何完全卸载Python 3

    如何完全卸载Python 3a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-05-30
    61
  • Oracle数据库查询语句_sql数据库怎么用

    Oracle数据库查询语句_sql数据库怎么用项目虽然完成了,但是需要自我扩充维护的基本知识!否则项目历练就白白浪费了! 1.查看控制文件 select name from v$controlfile; 2.查看日志文件 select memb…

    2022-12-25
    144
  • HBase Shell 十大花式玩儿法[通俗易懂]

    HBase Shell 十大花式玩儿法[通俗易懂]前言: 工欲善其事必先利其器,今天给大家介绍一下HBase Shell十大花式利器,在日常运维工作中,可以试着用起来。 1. 交互模式 也就是我们最常用到的Shell命令行的方式。 2. 非交互模式

    2023-02-18
    158
  • 从Multirepo到Monorepo 袋鼠云数栈前端研发效率提升探索之路「建议收藏」

    从Multirepo到Monorepo 袋鼠云数栈前端研发效率提升探索之路「建议收藏」一、困境频生 前端代码管理何解? 前端代码管理一直是困扰不少前端开发团队的难题,从开发到发布的整体工作流程中,除了常规的技术问题外,往往还伴随着沟通成本、维护成本及协作效率等问题。这些问题在团队规模较

    2023-06-02
    149

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注