Python学习笔记

2021-05-22PythonMOOC 文件处理练习

2021-05-22  本文已影响0人  爱生活的越仔

MOOCpython文件和数据处理练习

在打开文件时,若文件不存在,采用读取方式时,会发生什么情况?

采用写入方式时,又会发生什么情况?
问题1:在打开文件时,若文件不存在,采用读取方式时,会发生什么情况?
回答:
如果使用r读取文件,采用文本方式读入文件,文件经过编码形成字符串,打印出有含义的字符文件,采用二进制方式打开文件,文件被解析为字节流。
这两种情况下,如果文件不存在都会发生报错。因此可以使用try_except异常处理机构来排查异常原因,防止程序中断。
问题2:采用写入方式时,又会发生什么情况?
同样有两种方式写入文件,文本或二进制,如果文件不存在则会创建新文件,如果文件存在会覆盖原有文件,因此需要慎重选择。

请描述数据维度的含义?

一个数据表达一个含义,一组数据表达一个或多个含义。
维度:一组数据的组织形式(一维、二维或多维)
一维数据由对等关系的有序或无序数据构成,采用线性方式组织。
二维数据由多个一维数据构成,是一维数据的组合形式,比如说表格就是二维数据的一种。
多维数据由一维或二维数据在新维度上扩展形式,比如说加上时间维度。
高维数据利用最简单的二元关系展示数据间的复杂结构,比如说键值对。

python中数据的维度
一维数据:列表和集合类型
二维或多维数据:列表
高维数据:字典、JSON、XML、YAML

image.png
try:
    with open('exercise3.txt','r',encoding='utf-8') as file:
        s=file.readlines()
        count=0
        count_p=0
        lst=[]
        for line in s:
            if line=='':
                break
            else:
                line.strip()
                lst.append(len(line))
                if line[0]=='P':
                    count_p+=1
                count+=1
        print(lst)
        max_=max(lst)
        min_=min(lst)
        print('该文本文件共有有%d行'%count)
        print('文件中以大写字母P开头的有%d行'%count_p)
        print('包含字符最多的是第%d行'%(lst.index(max_,0)+1))
        print('包含字符最多的是第%d行'%(lst.index(min_,0)+1))
except Exception as e:
    print(e)
image.png
try:
    with open('const.csv','r',encoding='utf-8') as file:
        d={}
        s = file.readlines()
        for line in s:
            line.strip()
            Line=line.split(',')
            d[Line[0]]=(Line[1],Line[2],Line[3])
        while True:
            S=input("请用户输入星座名称(输入Q退出):")
            if S=='Q':
                break
            if S in d.keys():
                print('{}的出生日期范围是:{}—>{},对应字符形式是{}'.format(S,d[S][0],d[S][1],chr(int(d[S][2]))))
except Exception as e:
    print(e)
image.png
try:
    with open('sample.txt','r',encoding='utf-8') as file:
        s = file.readlines()
        lst=[]
        for line in s:
            line.strip()
            lst.append([len(line),line])
            lst.sort(key=lambda x:x[0],reverse=True)
        print(lst[0])

except Exception as e:
    print(e)
上一篇下一篇

猜你喜欢

热点阅读