python 学习

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#文件操作和数据格式化  #加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() #显示当前目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
'''
#异常处理和断言
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格式表达键值对