文件操作
对文件操作流程
- 打开文件,得到文件句柄并赋值给一个变量
- 通过句柄对文件进行操作
- 关闭文件
基本操作
import codecs #主要用来解决乱码问题
f = codecs.open('1.txt','r')
print (f.read())
f.close()
打开文件的模式有:
r: 读的方式
w:写的方式打开
a:以追加的方式
r+ 读写模式
w+ 读写
a+ 读写
rb:二进制读模式打开
wb:以二进制写模式打开
ab 二进制追加模式
rb+ 二进制读写
wb+二进制读写
ab+二进制读写
with open
fd= open('/usr/local/python/1.txt','w') 打开文件
fd.close 关闭函数
fd.write("a") 写入字符串
fd.read() 读文件,默认从头到结尾,加数值表示读到第几位
fd.readline() 读一行 返回字符串
fd.readlines() 读多行 返回列表
实例:
1 or遍历文件
2 #!/usr/bin/python
3
4 fd = open('/usr/local/python/1.txt')
5 for i in fd: #fd.readlines()(占用内存资源)
6 print i,
7
8 fd.close()
1 while遍历文件
2 #!/usr/bin/python
3
4
5 fd = open('/usr/local/python/1.txt')
6 while True:
7 i = fd.readline()
8 if not i:
9 break
10 print i,
11 fd.close()
with 文件
with open('/usr/local/python/1.txt') as fd: 自动关闭文件
while True:
i = fd.readline()
if not i:
break
print i,
2、数据类型转换:
十六进制转换成十进制
int('a',16)
十进制转换成十六进制
hex(11)
十进制转换成字符串
str(12)
字符串转换成十进制
int(‘10’) 必须纯数字
字符串转换列表
list(string)
列表转换字符串
''.join(list) ' '.join(s) 以空来分隔字符
字符串转换元组
tuple(string)
元组转字符串
''.join(tuple)
字典转换成列表
dic.items()
列表转字典
dict(dic) 不是所有的列表都可以转变成字典,除非是列表里包含俩个字符的小列表或者元组才能转换
示例:
计算mac地址
#!/usr/bin/python
macaddr = '00:0c:29:d1:6f:0a'
prefix_mac = macaddr[:-3]
last_two = macaddr[-2:]
plus_one = int(last_two, 16) +1
if plus_one in range(10):
new_last_two = hex(plus_one)[2:]
new_last_two = '0' + new_last_two
else:
new_last_two = hex(plus_one)[2:]
if len(new_last_two) == 1:
new_last_two = '0' + new_last_two
print new_last_two
print prefix_mac+':'+new_last_two
















