python 学习第十二天,第10章文件和异常

从文件中读取数据

10.1.1读取整个文件

pi_digits.txt

3.1415926535

    897932846

    2643383279

file_reader.py

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

    contents = file_object.read()

    print(contents)

open():要打开文件的名称

关键字with在不在徐访问文件后将其关闭。

10.1.2 文件路径

相对路径

这行代码让python到文件夹python_work下的文件夹text_files中去查找指定的.txt文件。在windows系统中,在文件路径中使用反斜杠(\)而不是斜杠(/)

with open('text_file\filename.txt') as file_object:

绝对路径

file_path  ='c:\Users\ehmatthes\other_files\text_files\filename.txt'

with oprn(file_path) as file_object:

10.1.3 逐行读取

要以每次一行的方式检查文件,可对文件对象使用for循环:

 file_reader.py

filename ='pi_digits.txt'

with open(filename) as file_object:

     for line in file_object:

            print(line)

删除空白行

filename ='pi_digits.txt'

with open(filename) as file_object:

     for line in file_object:

            print(line.rstrip())

10.1.4

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

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

filename ='pi_digits.txt'

with open(filename) as file_object:

         lines = file_object.readlnes()

for line in lines:

         print(line.rstrip())

10.1.5 使用文件的内容

pi_string.py

filename = 'pi_digits.txt'

with open(filename) as file_object:

       lines =file_object.readlines()

pi_string = ''

for line in lines:

       pi_string += line.rstrip()

print(pi_string)

print(len(pi_string))

删除空格

pi_string.py

filename = 'pi_digits.txt'

with open(filename) as file_object:

       lines =file_object.readlines()

pi_string = ''

for line in lines:

       pi_string += line.strip()

print(pi_string)

print(len(pi_string))

10.1.6包含一百万位的大型文件

pi_string.py

filename = 'pi_million_digits.txt'

with open(filename) as file_object:

       lines =file_object.readlines()

pi_string = ''

for line in lines:

       pi_string += line.strip()

print(pi_string[:52] +"......")

print(len(pi_string))

10.1.7圆周率中有你的生日吗?

pi_string.py

filename = 'pi_million_digits.txt'

with open(filename) as file_object:

       lines =file_object.readlines()

pi_string = ''

for line in lines:

       pi_string += line.strip()

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

if birthday in i_string:

           print("Your birthday appears in the first million digits of pi!")

else:

          print("You birthday does not appear in the first million digits of pi.")

 

print(pi_string)

print(len(pi_string))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值