MOOCpython文件和数据处理练习
在打开文件时,若文件不存在,采用读取方式时,会发生什么情况?
采用写入方式时,又会发生什么情况?
问题1:在打开文件时,若文件不存在,采用读取方式时,会发生什么情况?
回答:
如果使用r读取文件,采用文本方式读入文件,文件经过编码形成字符串,打印出有含义的字符文件,采用二进制方式打开文件,文件被解析为字节流。
这两种情况下,如果文件不存在都会发生报错。因此可以使用try_except异常处理机构来排查异常原因,防止程序中断。
问题2:采用写入方式时,又会发生什么情况?
同样有两种方式写入文件,文本或二进制,如果文件不存在则会创建新文件,如果文件存在会覆盖原有文件,因此需要慎重选择。
请描述数据维度的含义?
一个数据表达一个含义,一组数据表达一个或多个含义。
维度:一组数据的组织形式(一维、二维或多维)
一维数据由对等关系的有序或无序数据构成,采用线性方式组织。
二维数据由多个一维数据构成,是一维数据的组合形式,比如说表格就是二维数据的一种。
多维数据由一维或二维数据在新维度上扩展形式,比如说加上时间维度。
高维数据利用最简单的二元关系展示数据间的复杂结构,比如说键值对。
python中数据的维度
一维数据:列表和集合类型
二维或多维数据:列表
高维数据:字典、JSON、XML、YAML
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)
网友评论