字典

>>> 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的更多相关文章

  1. (转载) 浅谈python编码处理

    最近业务中需要用 Python 写一些脚本.尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息. 很快,我就遇到了异常: UnicodeEncodeError: ...

  2. Python 编码简单说

    先说说什么是编码. 编码(encoding)就是把一个字符映射到计算机底层使用的二进制码.编码方案(encoding scheme)规定了字符串是如何编码的. python编码,其实就是对python ...

  3. Python之路3【知识点】白话Python编码和文件操作

    Python文件头部模板 先说个小知识点:如何在创建文件的时候自动添加文件的头部信息! 通过:file--settings 每次都通过file--setings打开设置页面太麻烦了!可以通过:View ...

  4. python编码规范

    python编码规范 文件及目录规范 文件保存为 utf-8 格式. 程序首行必须为编码声明:# -*- coding:utf-8 -*- 文件名全部小写. 代码风格 空格 设置用空格符替换TAB符. ...

  5. 【转】python编码的问题

    摘要: 为了在源代码中支持非ASCII字符,必须在源文件的第一行或者第二行显示地指定编码格式: # coding=utf-8 或者是: #!/usr/bin/python # -*- coding: ...

  6. 【转】python编码规范

    http://blog.csdn.net/willhuo/article/details/49300441 决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是 ...

  7. python 编码 UnicodeDecodeError

    将一个py脚本从Centos转到win运行,出错如下: UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: il ...

  8. Python编码/文件读取/多线程

    Python编码/文件读取/多线程 个人笔记~~记录才有成长   编码/文件读取/多线程 编码 常用的一般是gbk.utf-8,而在python中字符串一般是用Unicode来操作,这样才能按照单个字 ...

  9. 关于Python编码,超诡异的,我也是醉了

    Python的编码问题,真是让人醉了.最近碰到的问题还真不少.比如中文文件名.csv .python对外呈现不一致啊,感觉好不公平. 没图说个JB,下面立马上图.   我早些时候的其他脚本,csv都是 ...

  10. 规范的python编码

    规范的 python 编码令人赏心悦目,令代码的表达逻辑更清晰,使得工程代码更容易被维护和交流: 编码规范包括对于代码书写格式的约束,不良语法的禁用和推荐的编码手法,下面做些简要的描述: 1. 代码规 ...

随机推荐

  1. ThreadLocal的分享

    最开始的时候打算自己写点什么,但是看了这些博客以后感觉真的不知道应该写点什么了,全部都是好文章,只做分享了,链接如下: 1.http://www.cnblogs.com/dolphin0520/p/3 ...

  2. 转:C语言 可变参数

    C语言 可变参数 堆栈一般是怎么压栈处理的 /* * stack space: * *        参数3   |    up *        参数2   | *        参数1   v   ...

  3. css代码段

    css文字超出省略 .demo{ display:-webkit-box; overflow:hidden; text-overflow:ellipsis; -webkit-line-clamp:2; ...

  4. link和@import的区别

    link属于XHTML标签,而@import完全是css提供的一种方式:标签和css样式的区别就不说了,他们起到的作用区别不大,一般建议用link因为简单,@import会对页面载入有影响,影响性能l ...

  5. CentOS中iptables防火墙 开放80端口方法

    开放端口:  代码如下 复制代码 [root@WX32 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT 保存配置:  代码如下 复制代码 [root ...

  6. Linux 下 git连接github的使用

    1.安装git sudo apt-get install git 2.创建github帐号 3.Linux创建SSH密钥: ssh-keygen  //一直默认 4.将公钥加入到Github账户信息A ...

  7. Mac下安装Node.js

    今天介绍一下Mac下Node.js的下载安装方法,后面我们安装Bootstrap.Angurlar和jQuery等都是通过Node.js的npm方式的. 1.在必应中搜索“node.js mac”,第 ...

  8. c语言完成分块查找

    首先要把一系列数组均匀分成若干块(最后一个可以不均匀) 每块中元素任意排列,即块中数字无序,但是整个块之间要有序.因此也存在局限性. #include<stdio.h> //分块查找法 v ...

  9. MVC、ORM、CURD、ActiveRecord、单一入口的概念

    MVC MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分成三个核心部件:模型(M).视图(V).控制器(C),它们各自处理自己的任务. 视图 :视图是用户看到并 ...

  10. Java学习指南学习笔记

    1, Java是一种静态类型.动态绑定的语言.具体来说,每一个对象都是编译时确定的良好类型.同时,可以在运行时检查一个对象究竟是什么. 2, Java中除了基本数字类型之外,Java中所有的对象都是通 ...