国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > Python如何从文件中读取数据

Python如何从文件中读取数据

头像

爱喝马黛茶的安东尼

2019-07-01 09:20:526042浏览 · 0收藏 · 0评论

从文件中读取数据

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:\Users\yxf\Desktop\python_pycharm新建一个文件夹text_file用于存储文件pi_digits.txt,此时就需要这样编写代码:

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

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

file_path = r'C:\Users\yxf\Desktop\python_pycharm\text_files\pi_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.')
关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

成品免费PPT网站入口| 初中小姐姐脚丫踩在男生困困| 公媳欢情沈曼最新章节更新| 《家访的老师》动漫在线观看| 甜蜜惩罚免费观看第一季全集| 姐姐片多多免费高清电视剧| 黑丝美女| 妈妈和女婿免费播放电视剧| 做到双眼失焦双男主| MACHENIKE| 无人区免费高清版观看| 国产少女免费观看电视剧 | 老王吮她的花蒂和奶水| 中字HD为丈夫的下属的成就与荣..| 小荡货啊…啊…用力啊快视频 | 男男免费观看高清完整版在线观看.. | 小荡货啊…啊…用力啊快视频| 偷拍视频| 《办公室高潮秘书2》| 肉丸子影院免费观看电视剧 | 星空无限传媒免费观看电视剧 | 成全视频观看免费高清中国电视剧| 久久午夜国产精品WWW| 女性INS大片跳舞| 免费韩漫无遮漫画 | 《女教师的味道3》在线观看| 妻子在厨房被三个男人欺负的后果| 《老板娘2》完整版| 黑色蕾丝女装大长腿| 机械师| 夹子夹R头多久| 罗曼史1999| 麦子交换2免费完整版| 丰满的儿女小月的身世与背景介绍| 《父债女偿》在线观看全集| 拔小萝卜免费观看全集电视剧| 一字马扣出水来的下一句怎么接 | 《军妓肉体》在线观看| 男生困困进女生困困洞视频| 性之剧毒 电影| 高压监狱在线观看免费高清完整