20181123 for、while遍历文件,数据类型转换

for循环遍历文件

  • open
    访问文件对文件描述符遍历,它是一个对象。小文件可以通过read访问。
    open(’/tmp/filename’,‘a’) append方式打开文件,默认用读的方式。
    fd = open(’/tmp/filename’)
    fd.write(‘456’) 追加内容
    fd.close()
    type(fd)
    fd.readline() 读一行。
    fd.readlines() 有多少行读多少行。返回一个list
    fd.read() 从起始位置读到末尾
    fd.read(2) 读两个字符
#!/usr/bin/python
fd = open('/root/test.txt')
for line in fd.readlines():   #返回列表元素有/n,文件大时,会占用内存一般都写成fd
    print line,  #print默认有/n
 fd.close() #不关闭,程序退出后也会退出
             
- with open
不需要close,在同一个缩进里结束后自动退出。 
#!/usr/bin/python
with  open('/root/test.txt') as fd:
    while True:
        line = fd.readline()
        if not line:
            break
        print line,

while遍历文件

#!/usr/bin/python
fd = open('/root/test.txt')
while True:
    line = fd.readline()
    if not line:
        break 
    print line,
fd.close()

统计系统剩余内存

s1.startswith(‘a’) 判断是不是以a开头的
s1.split() 默认按空格切分成列表

#!/usr/bin/python
with  open('/proc/meminfo') as fd:
    for line in fd:
        if line.startswith('MemTotal'):
            total = line.split()[1]
            continue
        if line.startswith('MemFree'):
            free = line.split()[1]
            break
print "%.2f" % (int(free)/1024.0)+'M'

数据类型转换(计算mac地址)

  • 十六进制字符串转十进制
    int(‘a’,16) a是16进制字符串
    int(‘0xa’, 16) 0x是16进制前缀
    hex(10) 十进制转换成16进制

  • 十进制转换成字符串
    str(‘123’)

#!/usr/bin/env python
macaddr = '00:0c:29:D1:6F:E9'
prefix_mac = macaddr[:-3]
last_two = macaddr[-2:]
plus_one = int (last_two, 16) +1
new_last_two = hex(plus_one)[2:]
print new_last_two[2:]
new_mac = prefix_mac + ':' + new_last_two
print new_mac.upper() 

数据类型转换(列表与字典相互转换)

s = ‘abc’
l = list(s) 将s元素转换成列表
’‘.join(l) 默认空不分割
t = tuple(s) 字符串转换成元组
‘’.join(t)
ll = dic.items() 字典转换成列表,列表里每个元素又变成一个元组
dict(ll) 列表转换成字典
不是所有列表元组都能转成字典,只有列表里元素是列表或者是元组,而且小的列表由两个元素组成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值