从文件中读取数据

1. 读取整个文件

要读取文件,首先来创建一个文件:

然后打开并读取这个文件,再将其内容显示到屏幕上:file_reader.py

with open('pi_digits.txt') as file_object:

contents = file_object.read()

print(contents)

解读上述代码:

open( ) -> 要以任何方式使用文件,都首先得打开文件,这样才能访问它,此时就需要用到函数open(),该函数只接受一个参数:要打开文件的名称,同时返回表示文件的对象。

with: 不再需要访问文件后调用 close( ) 将其关闭。

read( ) ->读取文件中的全部内容。

运行结果:3.1415926535

8979323946

2643383278

2. 文件路径

要让python打开不与程序文件位于同一目录中的文件,需要提供文件路径,让python到系统的特定位置去查找。

文件路径的表示:

1. 相对路径 -> 文件相对于当前运行程序所在的目录。eg. 在程序所在文件夹C:UsersyxfDesktoppython_pycharm新建一个文件夹text_file用于存储文件pi_digits.txt,此时就需要这样编写代码:with open('text_filespi_digits.txt') as file_object:

2. 绝对文件路径 -> 文件所在完整路径。绝对路径比相对路径更长,故可将路径存储在一个变量中,再将变量传递给 open( ):file_path = r'C:UsersyxfDesktoppython_pycharmext_filespi_digits.txt'

with open(file_path) as file_object:

由于文件路径中使用的是反斜杠,在python中被视为转义字符,故需要在开头的单引号前加上r。

相关推荐:《Python相关教程》

3. 逐行读取

每次以一行的方式检查文件:file_name = 'pi_digits.txt'

with open(file_name) as file_object:

for line in file_object:

print(line)

运行结果:3.1415926535

8979323946

2643383278

通过对文件对象使用for循环来遍历文件中的每一行,但运行结果显示的每一行后边多了空白行,这是为什么呢?文件中每行的末尾都有一个看不见的换行符,而print语句也会加上一个换行符。为消除这些空白行,可在print语句中使用 rstrip( ):

print(line.rstrip())

这样输出与文件内容就完全相同了。

4. 创建一个包含文件各行内容的列表file_name = 'pi_digits.txt'

with open(file_name) as file_object:

lines = file_object.readlines()

for line in lines:

print(line.rstrip())

方法readlines():从文件中读取每一行,并将其存储在列表中。

5. 使用文件的内容file_name = 'pi_digits.txt'

with open(file_name) as file_object:

lines = file_object.readlines()    # 将文件内容存储在列表中

pi_string = ''    # 新建一个空字符串

for line in lines:

pi_string = pi_string + line.rstrip()    # 删除空白行并转换为字符串

print(pi_string)    # 打印字符串

print(len(pi_string))    # 打印字符串长度

运行结果:3.1415926535  8979323946  2643383278

36

运行结果中包含了位于每行左边的空格,为删除这些空格,可使用 strip() 而不是 rstrip(),运行可得:3.141592653589793239462643383278

32

6. 包含一百万位的大型数据

一百万位的文件下载过慢,就复制使用了其中的一小部分,并打印到小数点后的50位:file_name = 'pi_xx_digits.txt'

with open(file_name) as file_object:

lines = file_object.readlines()  # 将文件内容存储在列表中

pi_string = ''  # 新建一个空字符串

for line in lines:

pi_string = pi_string + line.strip()  # 删除空白行并转换为字符串

print(pi_string[: 52])  # 打印字符串

print(len(pi_string))  # 打印字符串长度

运行结果:3.14159265358979323846264338327950288419716939937510

1483

由运行结果可知保存了小数点后的1481位在文件 pi_xx_digits.txt 中。

7. 圆周率中包含你的生日吗

可以检测圆周率值的前1483位中是否包含自己的生日:file_name = 'pi_xx_digits.txt'

with open(file_name) as file_object:

lines = file_object.readlines()

pi_string = ''

for line in lines:

pi_string = pi_string + line.strip()

birthday = input('Enter your birthday, in the form mmddyy: ')

if birthday in pi_string:

print('Your birthday appears in the first 1483 digits of pi!')

else:

print('Your birthday does not appears in the first 1483 digits of pi.')

python print(len(pi_string))_Python如何从文件中读取数据相关推荐

  1. python有什么库可以 从fig文件中读取数据_Python之matplotlib库学习:实现数据可视化...

    1. 安装和文档 pip install matplotlib 为了方便显示图像,还使用了ipython qtconsole方便显示.具体怎么弄网上搜一下就很多教程了. pyplot模块是提供操作ma ...

  2. python从文件中读取数据时出现错误_Python 从文件中读取数据

    读取整个文件 # 案例:读取整个文件 # pi_digits.txt 3.1415926535 8979323846 2643383279 # file_reader.py with open ('p ...

  3. python读文件和写文件-python开发--从文件中读取数据和写入文件

    #! /usr/bin/env python -*- coding:utf-8 -*- """ @Author:gcan @Email:1528667112@qq.com ...

  4. Python 从文件中读取数据

    读取整个文件 # 案例:读取整个文件 # pi_digits.txt 3.141592653589793238462643383279 # file_reader.py with open ('pi_ ...

  5. 【Python】从文件中读取数据

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

  6. python从文件中读取数据_【Python】从文件中读取数据

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

  7. 从文件中读取一个long型数_Python 从文件中读取数据

    问题:在python中如何从文件中读取数据,比如有一个mydata.txt文件包含10000行,50列的数据,想提取某几列出来,比如1, 3,5列. 方法一,编一个读取数据的函数. import js ...

  8. python读取xls数据_python_从.mat与.xls类型文件中读取数据

    从.xls类型文件中读取数据 在写机器学习算法的时候从UCI下载了一些数据,但是格式不是csv,而是.txt/.data,可以先用excel打开数据,在excel中将数据进行分列后导入python进行 ...

  9. python 从同花顺获取数据导出,通达信PYTHON读取本地数据,如何使用python在文件中读取数据?...

    Q1:如何使用python在文件中读取数据? file = open('a','r').readlines()[1] Q2:python怎么将本地一个文件夹的所有文本读进内存中 列出文件,把各个文件打 ...

最新文章

  1. php5.3安装memcache,Windows下的Memcache安装 附php5.3的扩展
  2. 简单的apache URL重写
  3. 京瓷1020MFC显示J-05 11是什么意思_Gofair第11讲,细说谷歌系推广的产品优势和推广方式...
  4. 皮一皮:时间管理的重要性...
  5. Nginx负载均衡策略之least_conn
  6. 基于对象的JavaScript编程
  7. dojo 官方翻译 dojo/json 版本1.10
  8. C++语言实现-邻接矩阵
  9. 原生App切图的那些事儿
  10. 30秒,2种方法解决SQL Server的内存管理问题
  11. DirectX Repair V3.0
  12. TZOJ--5447: Irrational Division (博弈)
  13. 2022-12-24 三阶魔方完整教程和口诀速记,二级魔方教程
  14. 24点小游戏(C语言实现)
  15. SSAS Tabular
  16. Linux 版本查询常用命令
  17. HDU 6447 YJJ's Salesman(线段树+DP)
  18. 未来教育1级计算机基础及ms,未来教育.全国计算机等级考试一本通一级计算机基础及MS Office应用...
  19. Docker理论与实践(三)
  20. ipc开发(liteos hi3518ev200----smaple【如何把hi1131 wifi驱动跟venc驱动整合到一个sample bin文件里面)

热门文章

  1. Struts2中的全局结果集
  2. PingInfoView批量PING工具
  3. SpringCloud创建Config多客户端公共配置
  4. Java支持IPv6研究
  5. java单双引号的区别
  6. idea项目在maven projects中变灰色带有删除线的解决办法
  7. 趣谈 | Python为什么受欢迎的本质,知道的人寥寥无几?
  8. 纷享逍客宣布完成E+轮融资 长山兴资本领投
  9. 一次httpserver优化的经验和教训(silverlight游戏 - 金庸群侠传X0.5上线记)
  10. jQuery 源码系列(四)Tokens 词法分析