#文件操作和数据格式化 #加b表示二进制 #加+表示读写
#r rb r+ rb+ #开头写入
#w wb w+ wb+ #覆盖写入
#a ab a+ ab+ #结尾写入
#语法fileobject=open(file_name[access_mode][buffering])
#打开文件
fa=open("D:\\text.txt","rb")
print(fa.readline())
fa.close()
#关闭文件
fa=open("D:\\text.txt","wb")
print("Name of the file:",fa.name)
fa.close()
#file.close 检查是否关闭(true,false)
#file.mode 查看访问模式
#file.name 返回名称
#file.softspace print输出后必须有个空格返回false,否则true
#f.read(count) 读
#f.write() 写
#写入文件
fa=open("write.txt","w")
fa.write('python is a bady\nPython')
#读取文件
fa=open("write.txt",'r+')
print("Pead String is:",fa.read(16))
fa.close()
#
fa=open("write.txt",'r+')
print("Pead String is:",fa.read(16))
position=fa.tell();
print("Cyrrent file position:",position)
position=fa.seek(0,0)
print("Again read String is:",fa.read(16))
fa.close()
#os模块
import os
os.rename(,) #重命名文件
os.remove() #删除文件
os.mkdir() #创建新目录
os.chdir() #当前目录的新名称
os.rmdir() #删除目录
os.getcwd() #显示当前目录
'''
#异常处理和断言
BaseException #所有异常基类
+-- SystemExit #解释器请求退出
+-- KeyboardInterrupt #用户中断执行
+-- GeneratorExit #生成器发生异常通知退出
+-- Exception #常规错误基类
+-- StopIteration #迭代器没有更多值
+-- ArithmeticError #所有数值计算错误基类
| +-- FloatingPointError #浮点计算错误
| +-- OverflowError #运算超限
| +-- ZeroDivisionError #除零
+-- AssertionError #断言语句失败
+-- AttributeError #对象没有这个属性
+-- BufferError #
+-- EOFError #没有内建输入,到达EOF标记
+-- ImportError
+-- LookupError
| +-- IndexError
| +-- KeyError
+-- MemoryError
+-- NameError
| +-- UnboundLocalError
+-- OSError
| +-- BlockingIOError
| +-- ChildProcessError
| +-- ConnectionError
| | +-- BrokenPipeError
| | +-- ConnectionAbortedError
| | +-- ConnectionRefusedError
| | +-- ConnectionResetError
| +-- FileExistsError
| +-- FileNotFoundError
| +-- InterruptedError
| +-- IsADirectoryError
| +-- NotADirectoryError
| +-- PermissionError
| +-- ProcessLookupError
| +-- TimeoutError
+-- ReferenceError
+-- RuntimeError
| +-- NotImplementedError
+-- SyntaxError
| +-- IndentationError
| +-- TabError
+-- SystemError
+-- TypeError
+-- ValueError
| +-- UnicodeError
| +-- UnicodeDecodeError
| +-- UnicodeEncodeError
| +-- UnicodeTranslateError
+-- Warning
+-- DeprecationWarning
+-- PendingDeprecationWarning
+-- RuntimeWarning
+-- SyntaxWarning
+-- UserWarning
+-- FutureWarning
+-- ImportWarning
+-- UnicodeWarning
+-- BytesWarning
+-- ResourceWarning
'''
#可以用try/except语句来检测try语句块中的错误让except语句捕获异常信息并处理
'''
try:
<语句> #运行别的代码
expect <名字>:
<语句> #如果在try部引发了’name‘异常
expect <名字>,<数据>:
<语句> #如果引发了’name‘异常,获得附加的数据
else:
<语句> #如果没有异常发生
'''
#异常处理
try:
fh=open("write.txt","w")
fh.write("This is my text file for excertion handling!!")
except IOError:
print("Error:can\'t find file or read data")
else:
print("Written content in the file successfully")
fh.close()
#try...finally语句无论是否发生异常,都将执行最后的代码。
"""try:
<语句>
finally:
<语句>
raise"""
#用raise语句自己触发异常 #raise[Exception[agrs[traceback]]]
#异常参数可选,默认为None
#assert(断言)
#用于判断一个表达式,如果断言成功,不采取任何措施,否则,触发AssertiionError的异常
#通常,assert语句用于检查函数参数的属性或初期测试和调试过程的辅助工具
#assert expression[,argument]
#会产生异常的断言
assert 3==6
assert len[a,b,c,d]>5
#包含断言的程序
s_age=input("请输入年龄:")
age=int(s_age)
assert 19<age<45
print("输入的年龄在19和45之间")
#特殊的分支结构
#数据格式化
#数据的维度,一维,二维,高维。。。
#高维数据在网络系统中十分常见,HYML,XML,JSON等都是高维数据组织的语法结构
#分隔方式 1.空格 2.逗号 3.其他符号
#一二维数据存储格式:CSV格式(逗号分隔值)
#通用文件格式,程序之间转移表格
'''
fo=open("cpi.csv","r")
cc=[]
for line in fo: #一维
cc.append(line.strip('\n').split(","))
fo.close()
print(cc)
'''
'''
for row in cc: #二维
for item in row:
<对row行item列元素进行处理>
'''
#高维数据的格式化
#表示采用键值对,是高维数据的特征,用JSON格式进行表达和存储
#万维网是复杂的数据组织体系,通过HTML方式链接并展示不同类型数据内容
#XML或JSON格式表达键值对