day7-python打开文件方式

文件操作

对文件操作流程

  1. 打开文件,得到文件句柄并赋值给一个变量
  2. 通过句柄对文件进行操作
  3. 关闭文件 

基本操作

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
不要让以后的自己被嫌弃
原文地址:https://www.cnblogs.com/wxp997/p/7726431.html