python编码-2
字典
>>> aa={}
>>> aa['wo']=[1,2,3,4]
>>> aa['ni']=[5,6,7,8]
>>> aa['zhang']=[20,'it','jp']
>>> aa['wu']=[30,'hr','cn']
>>> aa
{'wo': [1, 2, 3, 4], 'ni': [5, 6, 7, 8], 'wu': [30, 'hr', 'cn'], 'zhang': [20, 'it', 'jp']} 遍历字典,将字典中的一个元素的key-value对分别打出
>>> for name,info in aa.items():
... print name,info
...
wo [1, 2, 3, 4]
ni [5, 6, 7, 8]
wu [30, 'hr', 'cn']
zhang [20, 'it', 'jp'] 打出值(是一个列表)的第一个字段
>>> for name,info in aa.items():
... print name,info[0]
...
wo 1
ni 5
wu 30
zhang 20 遍历字典
>>> name
{'r': 12, 'b': 23}
>>> for k,v in name.items():
... print k,v
...
r 12
b 23
函数
这是第一个函数
[root@kvm1 python]# python fun1.py
hello,wudealex,how are you?
[root@kvm1 python]# cat fun1.py
def sayHi(name):
print "hello,%s,how are you?" %name
n="wudealex"
sayHi(n)
这是第二个函数
[root@kvm1 python]# cat fun2.py
def sayHi(age):
if age >20:
print 'you are too old'
else:
print 'you are a young man' n=int(raw_input('please input your age!!! '))
sayHi(n) 正常情况
[root@kvm1 python]# python fun2.py
please input your age!!! 23
you are too old
[root@kvm1 python]# python fun2.py
please input your age!!! 12
you are a young man 满足了基本功能
但却有三个主要问题
其一输入字符会报错并退出
其二不输入会报错并退出
其三不能循环等待用户输入,一次就退出 [root@kvm1 python]# python fun2.py
please input your age!!! f
Traceback (most recent call last):
File "fun.py", line 7, in <module>
n=int(raw_input('please input your age!!! '))
ValueError: invalid literal for int() with base 10: 'f'
[root@kvm1 python]# python fun2.py
please input your age!!!
Traceback (most recent call last):
File "fun.py", line 7, in <module>
n=int(raw_input('please input your age!!! '))
ValueError: invalid literal for int() with base 10: ''
这是对第二个函数的改进版,解决了存留的bug [root@kvm1 python]# cat fun3.py
def sayHi():
while True:
try:
age=int(raw_input('please input your \033[42;31m age \033[0m!!! '))
break
except ValueError:
print 'please input a \033[46;33m number \033[0m,not string.'
if age >20:
print 'you are a \033[41;32m old \033[0m man '
else:
print 'you are a \033[43;34m young \033[0m man' sayHi()
[root@kvm1 python]# python fun3.py
please input your age!!!
please input a number,not string.
please input your age!!! e
please input a number,not string.
please input your age!!! w
please input a number,not string.
please input your age!!! -
please input a number,not string.
please input your age!!! 12
you are a young man
[root@kvm1 python]# python fun1.py
please input your age!!! 34
you are too old
函数的默认参数,
即c=0
或空c='' import os def sshcmd(a,b,c):
sh= 'ssh %s@%s %s' %(a,b,c)
# print sh
os.system(sh) user='root'
host='192.168.10.103'
cmd='hostname' sshcmd(user,host,cmd)
pickle模块
pickle序列化,不像文件,plk文件不需要转来转去,如果用文件来中转的话,需要遍历字典,还要输出到文件中,读的时候也较麻烦
所以pickle模块提供了一种中间物,方便共享数据。原样存,原样取。便于移植 定义
>>> import tab
>>> import pickle
>>> acc={}
>>> acc['']=['a',15,14]
>>> acc['']=['b',30,40]
>>> acc
{'': ['a', 15, 14], '': ['b', 30, 40]}
>>> f =file('acc.pkl','wb')
>>> pickle.dump(acc,f)
>>> f.close() 假如pickle.dump后,又需要修改某个值,
acc[''][0]='c'
这个时候如果再一次的
pickle.dump(acc,f),那么acc.pkl文件会有两组字典,所以会对load时产生混乱,
所以最好dump一次就close一次,再修改,再打开 取用
>>> pkl_file=open('acc.pkl','rb')
>>> acc_info=pickle.load(pkl_file)
>>> acc_info
{'': ['a', 15, 14], '': ['b', 30, 40]}
re模块
>>> m=re.match(r'ni','ni hao')
>>> print m.group()
ni
>>> m=re.match(r'ii','ni hao')
>>> print m.group()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group' >>> p=re.compile(r'\d+')
>>> print p.split('one1two2three3four4')
['one', 'two', 'three', 'four', '']
>>> p=re.compile(r'\D+')
>>> print p.split('one1two2three3four4')
['', '', '', '', '']
python编码-2的更多相关文章
- (转载) 浅谈python编码处理
最近业务中需要用 Python 写一些脚本.尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息. 很快,我就遇到了异常: UnicodeEncodeError: ...
- Python 编码简单说
先说说什么是编码. 编码(encoding)就是把一个字符映射到计算机底层使用的二进制码.编码方案(encoding scheme)规定了字符串是如何编码的. python编码,其实就是对python ...
- Python之路3【知识点】白话Python编码和文件操作
Python文件头部模板 先说个小知识点:如何在创建文件的时候自动添加文件的头部信息! 通过:file--settings 每次都通过file--setings打开设置页面太麻烦了!可以通过:View ...
- python编码规范
python编码规范 文件及目录规范 文件保存为 utf-8 格式. 程序首行必须为编码声明:# -*- coding:utf-8 -*- 文件名全部小写. 代码风格 空格 设置用空格符替换TAB符. ...
- 【转】python编码的问题
摘要: 为了在源代码中支持非ASCII字符,必须在源文件的第一行或者第二行显示地指定编码格式: # coding=utf-8 或者是: #!/usr/bin/python # -*- coding: ...
- 【转】python编码规范
http://blog.csdn.net/willhuo/article/details/49300441 决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是 ...
- python 编码 UnicodeDecodeError
将一个py脚本从Centos转到win运行,出错如下: UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: il ...
- Python编码/文件读取/多线程
Python编码/文件读取/多线程 个人笔记~~记录才有成长 编码/文件读取/多线程 编码 常用的一般是gbk.utf-8,而在python中字符串一般是用Unicode来操作,这样才能按照单个字 ...
- 关于Python编码,超诡异的,我也是醉了
Python的编码问题,真是让人醉了.最近碰到的问题还真不少.比如中文文件名.csv .python对外呈现不一致啊,感觉好不公平. 没图说个JB,下面立马上图. 我早些时候的其他脚本,csv都是 ...
- 规范的python编码
规范的 python 编码令人赏心悦目,令代码的表达逻辑更清晰,使得工程代码更容易被维护和交流: 编码规范包括对于代码书写格式的约束,不良语法的禁用和推荐的编码手法,下面做些简要的描述: 1. 代码规 ...
随机推荐
- jQuery的环境配置
目前最新的版本,是 1.10.1 和 2.0.2,如果你需要引用到你线上的项目,就必须使用压缩版,去掉了注释和空白,是容量最小. 从CDN中载入JQuery,如Google中载入JQuery: htt ...
- SQL Server常用语句
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- Circular progress bar in Unity 3D
Circular progress bar in Unity 3D - UnityScripthttp://stackoverflow.com/questions/22662706/circular- ...
- 1.jquery的变量赋予方式
1.首先通过将变量赋予 $_ = window.$ _jQuery = window.JQuery 2.将函数赋给两个全局变量 window.jQuery = window.$ = jQuery 3. ...
- sans-serif
sans-serif无衬线字体,是一类字体,它在操作系统或者浏览器里是可以设置的,你可以把它设置成宋体,也可以设置成微软雅黑,而设置的这种字体肯定是当前系统里存在的字体,所以使用这个字体就一肯能显示出 ...
- HTML 标题<h1>-<h6>
定义和用法 <h1> - <h6> 标签可定义标题.<h1> 定义最大的标题.<h6> 定义最小的标题. 由于 h 元素拥有确切的语义,因此请您慎重地选 ...
- 美女程序员是如何将QQ转换成题目中那串数字的--读博文《找女神要QQ号码》
我只能说好好的端午节你们不约么?,还在这里写代码?我也是够无聊的,下班了不走也在这跟风写着玩!<找女生要QQ号码原文>原文链接http://www.cnblogs.com/iforever ...
- iOS开发UI篇—Quartz2D使用(截屏)
iOS开发UI篇—Quartz2D使用(截屏) 一.简单说明 在程序开发中,有时候需要截取屏幕上的某一块内容,比如捕鱼达人游戏.如图: 完成截屏功能的核心代码:- (void)renderInCont ...
- linux应用开发小结
这几天一直在看<在实践中学嵌入式linux应用程序开发>这本书,昨天下午的时候算是把这本书完全搞懂了.除了第一章的交叉编译环境的搭建和第七章linux设备驱动开发第八章的安卓应用开发和第九 ...
- bzoj 2809: [Apio2012]dispatching
#include<cstdio> #include<algorithm> #define M 1000005 using namespace std; long long an ...