分类
python

python遍历dictionary

如代码

#!/usr/bin/env python
#-*- coding:utf-8 -*-
dict={"a":"apple","b":"banana","o":"orange"}
print "##########dict######################"
for i in dict:
    print "dict[%s]=" % i,dict[i]
print "###########items#####################"
for (k,v) in dict.items():
    print "dict[%s]=" % k,v
print "###########iteritems#################"
for k,v in dict.iteritems():
    print "dict[%s]=" % k,v
print "###########iterkeys,itervalues#######"
for k,v in zip(dict.iterkeys(),dict.itervalues()):
    print "dict[%s]=" % k,v
分类
python

python文件读写

python写文件

object_id_list=[1, 3, 88, 99]

f=open('mylist', "w”)

for id in object_id_list:

    f.writelines(str(id))

f.close()   #只有输入这一句之后才会真正写入到文件中

cat mylist

有换行的时候

138899%   # 最后有一个%表示没有换行
>>> object_id_list=[1, 3, 88, 99]
>>> f=open('mylist', "w")
>>> for id in object_id_list:
...     f.writelines(str(id) + '\n')    # 换行
...
>>> f.close()

➜  ~  cat mylist

1
3
88
99

python读取json文件

文件格式如下

{
    "object_id": 430,
    "type": 23
}
object_id_read = open(object_id_file, "r")
object_id_file_json = ''
for line in object_id_read:
    object_id_file_json = object_id_file_json + line.strip('\n')
data = json.loads(object_id_file_json)
object_id = data['object_id']

f.write 和 f.writelines有什么区别?

f.read()
f.readline()
f.readlines()

分类
python

python any判断一个对象是否为空

any判断dict,list,tuple是不是为空

>>> eth = {“eth0″:”192.168.1.1”}

>>> any(eth)

True

>>> eth = {}

>>> any(eth)

False

分类
python

python获取某目录下的所有文件和子目录-os.listdir

有时候需要获取某目录下的所有文件和子目录,从stackoverflow搜到了一段代码,需要时可以使用。

#!/usr/bin/python

import os, sys

# Open a file
path = "/var/www/html/"
dirs = os.listdir(path)

# This would print all the files and directories
for file in dirs:
   print file
分类
python

python encode decode编码

utf8编码的涵义

UTF-8 is one of the most commonly used encodings. UTF stands for “Unicode Transformation Format”, and the ‘8’ means that 8-bit numbers are used in the encoding.

早在1968年,ASCII代码发表了,代表了0到127的字母数字,但仍表示不了其他国家的字母,1980s之后,处理器变为8-bit,变为了0-255,后来为为了16-bit,说明2^16 = 65,536。之后utf-8出现了。

可以用type或isinstance来判断变量是什么类型

>>> s = '杨'
>>> type(s)
<type 'str'>
>>> isinstance(s, str)
True
>>> isinstance(s, unicode)
False

如果前面加一个u符号指定用unicode编码

>>> a = u'杨'
>>> type(a)
<type 'unicode'>
>>> isinstance(a, str)
False
>>> isinstance(a, unicode)
True

python encode unicode编码

>>> str = "上海"
 >>> print str
 上海
 >>> print data.encode("unicode_escape")
 \\u4ea4\\u6362\\u673a
 >>> print data.encode("raw_unicode_escape")
 \u4ea4\u6362\u673a

python decode unicode编码

>>> data = "\u4ea4\u6362\u673a"
>>> type(data)
<type 'str'>
 >>> print data.decode('unicode_escape')
 交换机
 当字符串本身有\时,使用
 >>> print data.decode('raw_unicode_escape')
 交换机

参考文档:

https://docs.python.org/2/howto/unicode.html