Python基础学习_文件和异常1

本文介绍了Python中处理文件的基本操作,包括读取、重写和处理文件末尾的空行。还涉及了错误处理和异常的概念,以及json模块在保存用户数据中的应用。示例展示了如何从文件读取数据,特别是从不同路径的文件中读取,并进行了逐行读取和处理,包括删除空白行的操作。
摘要由CSDN通过智能技术生成

文件和异常

学习内容

1、处理文件

处理文件的目的:让程序能够快速的分析大量的数据

2、错误处理

目的:避免程序在面对意外情形时崩溃

3、异常

目的:Python创建的特殊对象,用于管理程序运行时出现的错误

4、模块json

目的:保存用户数据,免得程序终止运行后丢失

1.1 从文件中读取数据

数据类型:天气数据、交通数据、社会经济数据、文学作家等

例子:从文件中读取数据,然后重新改写文件格式,最后在浏览器中显示

例子中的文件

pi_digits.txt文件

3.1415926535
  8979323846
  2643383279

pi_digits1.txt文件

我的设计方向:废品回收废碎二次利用项目,



1、山西太原立式磨粉机(2005年)
目前状况:现有立式磨粉机出粉率低、能耗高的问题。
创新点:通过增加卡环、卡圈,使立式磨粉机内部具有粒度分级结构,使立式磨粉机本身具有粒度分选功能,在一定的细度范围内
       ,该立式磨粉机的出料可直接达到所需的细度要求,克服了现有立式磨粉机需要多次循环,出粉率低、耗能高的弊端。

适用场合:植物纤维类材料如木屑等的磨粉加工


2、带有阶梯状磨盘的立式磨粉机(2017)
目前状况:目前国内立式辊磨机的粉磨机构主要是球形磨辊和凹槽形磨盘,其外形复杂,制造难度大造价高,磨损后修复较为困难且费用高,
磨粉效率低。同时,由于磨粉机构磨损后修复较困难,修复时间长,导致立式辊磨机的运转效率低。这些缺点影响了整个水泥生产线的运转率
,使水泥生产线的开工率和效益受到影响。

创新点:


没有人能打倒你,除了你自己,你要学会捂上自己的耳朵,不去听那些熙熙攘攘的声音。这个世界上没有不辛苦的人,真正能治愈自己的,只有你自己。晚安!‘

1.1.1 读取整个文件

手动创建文件pi_digits.txt

读取文件

with open('pi_digits.txt') as file_object:
    contents = file_object.read()
    print(contents)

结果:

3.1415926535
  8979323846
  2643383279

with 作用:在不需要访问文件时关闭 好处:在需要时打开文件,不要时自动关闭文件

open() 和 close()虽然也可打开文件关闭文件,但文件出现bug时close就不会起作用,

文件也就不会关闭,所以with 和 open()更好

结果相对于原始字符:在最后一行多了一行空字符串(空行)

read()方法读到文件末尾返回空字符串,可使用rstrip()函数删除文件末尾空字符串

with open('pi_digits.txt') as file_object:
    contents = file_object.read()
    print(contents.rstrip())

结果:

3.1415926535
  8979323846
  2643383279

1.1.2 文件路径

使用场合:文件路径与程序路径不在一个目录文件下时

1、Linux和OSX系统导入方式

with open(‘txt_file//filename.txt’ ) as file_object:

2、windows系统导入方式

with open(‘txt_file\filename.txt’) as file_object:

绝对文件

1、Linux和OSX系统导入方式

file_path = ‘/home/ehmatthes/other_file/text_file/filename.txt’

with open(file_path) as file_object:

2、windows系统导入方式

file_path = ‘C:\Users\ehmatthes\other_file\text_file\filename.txt’

绝对路径例子:

file_path = 'E:\python学习\pi_digits1.txt'
with open(file_path) as file_object:
    for line in file_object:
        line.strip()
        print(line)  ## 逐行打印并去除每行的前后空白

结果:

我的设计方向:废品回收废碎二次利用项目,







1、山西太原立式磨粉机(2005年)

目前状况:现有立式磨粉机出粉率低、能耗高的问题。

创新点:通过增加卡环、卡圈,使立式磨粉机内部具有粒度分级结构,使立式磨粉机本身具有粒度分选功能,在一定的细度范围内

       ,该立式磨粉机的出料可直接达到所需的细度要求,克服了现有立式磨粉机需要多次循环,出粉率低、耗能高的弊端。



适用场合:植物纤维类材料如木屑等的磨粉加工





2、带有阶梯状磨盘的立式磨粉机(2017)

目前状况:目前国内立式辊磨机的粉磨机构主要是球形磨辊和凹槽形磨盘,其外形复杂,制造难度大造价高,磨损后修复较为困难且费用高,

磨粉效率低。同时,由于磨粉机构磨损后修复较困难,修复时间长,导致立式辊磨机的运转效率低。这些缺点影响了整个水泥生产线的运转率

,使水泥生产线的开工率和效益受到影响。



创新点:





没有人能打倒你,除了你自己,你要学会捂上自己的耳朵,不去听那些熙熙攘攘的声音。这个世界上没有不辛苦的人,真正能治愈自己的,只有你自己。晚安!‘

1.1.3 逐行读取

使用场合:需要对每一行作特定操作

filename = 'E:\python学习\python基础学习\pi_digits.txt'

1、逐行打印

with open(filename) as file_object:
    for line in file_object:
        print(line)               ## 逐行打印

结果:

3.1415926535

  8979323846

  2643383279

2、逐行打印并去除每行的前后空白

with open(filename) as file_object:
    for line in file_object:
        print(line.strip())               ## 去除每行前后空白

结果:

3.1415926535
8979323846
2643383279

3、去除文本文件中的空白行的函数代码

def delblankline(infile,outfile):
    infopen = open(infile,'r')
    outfopen = open(outfile,'w')
    lines = infopen.readlines()
    for line in lines:
        if line.split():
            outfopen.writelines(line)
        else:
            outfopen.writelines("")
    infopen.close()
    outfopen.close()
 
delblankline("E:\python学习\pi_digits1.txt","output1.txt")

结果:

我的设计方向:废品回收废碎二次利用项目,
1、山西太原立式磨粉机(2005年)
目前状况:现有立式磨粉机出粉率低、能耗高的问题。
创新点:通过增加卡环、卡圈,使立式磨粉机内部具有粒度分级结构,使立式磨粉机本身具有粒度分选功能,在一定的细度范围内
       ,该立式磨粉机的出料可直接达到所需的细度要求,克服了现有立式磨粉机需要多次循环,出粉率低、耗能高的弊端。
适用场合:植物纤维类材料如木屑等的磨粉加工
2、带有阶梯状磨盘的立式磨粉机(2017)
目前状况:目前国内立式辊磨机的粉磨机构主要是球形磨辊和凹槽形磨盘,其外形复杂,制造难度大造价高,磨损后修复较为困难且费用高,
磨粉效率低。同时,由于磨粉机构磨损后修复较困难,修复时间长,导致立式辊磨机的运转效率低。这些缺点影响了整个水泥生产线的运转率
,使水泥生产线的开工率和效益受到影响。
创新点:
没有人能打倒你,除了你自己,你要学会捂上自己的耳朵,不去听那些熙熙攘攘的声音。这个世界上没有不辛苦的人,真正能治愈自己的,只有你自己。晚安!

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

作用:在with代码块外使用文件内容

创建一个列表存储文件内容

1、例子1

file_name = 'pi_digits.txt'

with open(file_name)  as file_object:
    # readline()读取文件每一行存在列表中,放到变量lines中
    lines = file_object.readline() 

for line in lines:
    print(line.rstrip())
    

结果:

3
.
1
4
1
5
9
2
6
5
3
5

2、例子2

file_path = 'E:\python学习\pi_digits1.txt'
with open(file_path) as file_object:
     # readline()读取文件每一行存在列表中,放到变量lines中
    lines = file_object.readline()
    
for line in lines:
    print(line.rstrip())
        

结果:

我
的
设
计
方
向
:
废
品
回
收
废
碎
二
次
利
用
项
目
,

总结:

文件导入:
1、目标文件在python当前文件下,导入方式
with open(“file_name.txt” ) as file_object:
文件存储变量名 = file_object.read()
print(文件存储变量名)
2、目标文件不在python当前文件下,导入方式
## 1、Linux和OSX系统导入方式
with open(‘txt_file//filename.txt’ ) as file_object:

                  ## 2、windows系统导入方式
                   ## with open('txt_file\filename.txt')  as file_object:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值