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. 代码规 ...
随机推荐
- Pycharm使用问题# 快捷键设置
Pycharm内部设置也已经变得非常复杂,此处说明我改变字体大小的快捷键设置. 在Settings中找到Keymap一项,默认显示会展开Editor Actions一项: 在里面分别找到Decreas ...
- python3 字符串相关函数
python版本 3.5 #Author by Liguangbo#_*_ coding:utf-8 _*_str="i like study python, welcome to my p ...
- 0030 Linux 网络操作命令
1. 主机是否可达 ping IP 2. 服务是否在运行 telnet IP port 3. 网络配置 ifconfig ip route arp 4. 网络访问 curl wget 5. 网络追踪 ...
- 转AjaxControlToolkit的安装与使用详解
AjaxControlToolkit的安装与使用详解 AjaxControlToolkit下载http://ajax.asp.net/downloads/default.aspx?tabid=47ht ...
- 关于makefile
0 Makefile概述 -------------------------------------------------------------------------------- 什么是mak ...
- SSM框架学习之高并发秒杀业务--笔记3-- Service层
上一节中已经包DAO层编写完成了,所谓的DAO层就是所有和数据访问的部分都应该放在这个层里,它负责与数据库打交道.对于一个web项目来说,大概由这几部分组成: 1. 前台的显示层. 2. 分发处理请求 ...
- 【63测试20161111】【BFS】【DP】【字符串】
第一题: tractor 题目描述 农场上有N(1 <= N <= 50,000)堆草,放在不同的地点上.FJ有一辆拖拉机,也在农场上.拖拉机和草堆都表示为二维平面上的整数坐标,坐标值在1 ...
- MYSQL中关于日期处理的函数
< DOCTYPE HTML PUBLIC -WCDTD HTML TransitionalEN> MySQL数据库中SQL语句中 关于日期.时间\时间戳的函数 一 MySQL 获得当 ...
- SQL 解决in的参数烦恼(经典,简洁,高效)
原SQL是不能执行的:select * from 表A where 字段A in (select 逗号分隔的字段B from 表B where 条件) 解决方案:select b.* from (se ...
- 【opencv学习笔记】SetImageROI函数设置ROI区域的作用及用法
虽然先前知道ROI区域是感兴趣区域,但是真正看到调用了OpenCV的cvSetImageROI函数时,并不知道它的作用,所以还是单独写了一段代码对这个函数进行探究. OpenCVchm文档中对cv ...