Python 基础操作知识整理总结(3)

10. print 格式化输出
10.1. 格式化输出字符串
截取字符串输出,下面例子将只输出字符串的前3个字母 >>> str="abcdefg"
>>> print "%.3s" % str
abc
按固定宽度输出,不足使用空格补全,下面例子输出宽度为10 >>> str="abcdefg"
>>> print "%10s" % str
abcdefg
截取字符串,按照固定宽度输出 >>> str="abcdefg"
>>> print "%10.3s" % str
abc
浮点类型数据位数保留 >>> import fpformat
>>> a= 0.0030000000005
>>> b=fpformat.fix(a,6)
>>> print b
0.003000
对浮点数四舍五入,主要使用到round函数 >>> from decimal import *
>>> a ="2.26"
>>> b ="2.29"
>>> c = Decimal(a) - Decimal(b)
>>> print c
-0.03
>>> c / Decimal(a) * 100
Decimal('-1.327433628318584070796460177')
>>> Decimal(str(round(c / Decimal(a) * 100, 2)))
Decimal('-1.33')
>>>
10.2. 进制转换
有些时候需要作不同进制转换,可以参考下面的例子(%x 十六进制,%d 十进制,%o 十进制)

>>> num = 10
>>> print "Hex = %x,Dec = %d,Oct = %o" %(num,num,num)
Hex = a,Dec = 10,Oct = 12

11. Python调用系统命令或者脚本
使用 os.system() 调用系统命令 , 程序中无法获得到输出和返回值 >>> import os
>>> os.system('ls -l /proc/cpuinfo')
>>> os.system("ls -l /proc/cpuinfo")
-r--r--r-- 1 root root 0 3月 29 16:53 /proc/cpuinfo
0

使用 os.popen() 调用系统命令, 程序中可以获得命令输出,但是不能得到执行的返回值 >>> out = os.popen("ls -l /proc/cpuinfo")
>>> print out.read()
-r--r--r-- 1 root root 0 3月 29 16:59 /proc/cpuinfo

>>>

使用 commands.getstatusoutput() 调用系统命令, 程序中可以获得命令输出和执行的返回值 >>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>>
12. Python 捕获用户 Ctrl+C ,Ctrl+D 事件
有些时候,需要在程序中捕获用户键盘事件,比如ctrl+c退出,这样可以更好的安全退出程序

try:
do_some_func()
except KeyboardInterrupt:
print "User Press Ctrl+C,Exit"
except EOFError:
print "User Press Ctrl+D,Exit"

13. Python 读写文件
一次性读入文件到列表,速度较快,适用文件比较小的情况下 track_file = "track_stock.conf"
fd = open(track_file)
content_list = fd.readlines()
fd.close()

for line in content_list:
print line

逐行读入,速度较慢,适用没有足够内存读取整个文件(文件太大) fd = open(file_path)
fd.seek(0)
title = fd.readline()
keyword = fd.readline()
uuid = fd.readline()
fd.close()

写文件 write 与 writelines 的区别
Fd.write(str) : 把str写到文件中,write()并不会在str后加上一个换行符
Fd.writelines(content) : 把content的内容全部写到文件中,原样写入,不会在每行后面加上任何东西

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/54a999b7988d8d6933e2c4e873b7197e.html