随笔分类 -  Python每日小灶

摘要:python编程时,经常和文件、目录打交道,这是就离不了os模块。os模块包含普遍的操作系统功能,与具体的平台无关。以下列举常用的命令 1. os.name——判断现在正在实用的平台,Windows 返回 ‘nt'; Linux 返回’posix' 2. os.getcwd()——得到当前工作的目录 阅读全文
posted @ 2013-03-18 12:27 jihite 阅读(107432) 评论(7) 推荐(7) 编辑
摘要:假设字典为dics = {0:'a', 1:'b', 'c':3} 1.从字典中取值,当键不存在时不想处理异常 [方法] dics.get('key', 'not found') [例如] [解释] 当键'key'不存在是,打印'not found'(即想要处理的信息),当存在是输出键值。 【其他解 阅读全文
posted @ 2013-01-24 18:01 jihite 阅读(74572) 评论(0) 推荐(0) 编辑
摘要:【任务】有一个包含列表(行)的列表,现在想获得另一个列表,该列表包含相同的行,但是一些列被删除和重新排序了。【解决方案】假设我们的列表是 listeg = [[0,1,2], [3,4,5], [6,7,8]],现在我们想去除第2列,同时把第1列和第3列互换。方法一: 格式:[[ ] for row in listeg],在内部[ ]写上自己想要的列,本要求中为[row[2], row[0]]方法二: 格式:[[ ] for row in listeg] ,在内部[ ]写上自己想要的列,但是内层的列也采用了和外层相同的格式,即[row[i] for i in [2, 0]]点评:方法一直接采. 阅读全文
posted @ 2013-01-24 11:30 jihite 阅读(5288) 评论(0) 推荐(0) 编辑
摘要:小例奉上: 可以看出,赋值号“=”是引用,即a 和 b 是指向一个对象。 如何实现对象的拷贝呢,python 有 copy模块。用法:import copy 对象2 = copy.copy(对象1)例子: 问题: 可以看出:copy 可以实现浅层拷贝,可以通过copy.deepcoppy()来实现深层拷贝。例如上例: 判断是否是一个对象: is "b = a"是引用 指向的一个对象,所以a is b返回 True "c = copy.copy(a)"c是a的拷贝,不是指向一个对象,返回False判断是否值相同: == 阅读全文
posted @ 2013-01-20 17:10 jihite 阅读(3768) 评论(0) 推荐(1) 编辑
摘要:看一段主函数调用函数的小程序: 1 import sys 2 def Fuc(): 3 print 'hello' 4 5 if __name__ == '__main__': 6 if len(sys.argv) != 3: 7 print 'Usage: python input_name output_name' 8 exit(1) 9 f_input = sys.argv[1]10 f_output = sys.argv[2]11 Fuc()12 释义: 5行“if __name__ == '_... 阅读全文
posted @ 2013-01-06 16:56 jihite 阅读(37285) 评论(0) 推荐(0) 编辑
摘要:目标:全局变量先看程序:count = 0def Fuc(count): print count count += 1for i in range(0, 10): Fuc(count)结果是:不是我们想要的结果。解决之道一——全局变量:global aa = 3def Fuc(): global a print a a = a + 1if __name__ == "__main__": global a for i in range(10): Fuc()print 'hello' print a结果: 注意要领: 哪里需... 阅读全文
posted @ 2013-01-05 20:09 jihite 阅读(108111) 评论(0) 推荐(2) 编辑
摘要:先列几个range()函数的几个用法: 函数原型:range(start, end, scan):参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5); end:技术到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)坑人的现象:for i in range(5): print i i += 2 print i print '一轮结束'... 阅读全文
posted @ 2013-01-05 11:49 jihite 阅读(68225) 评论(5) 推荐(3) 编辑
摘要:在c语言中,表示个“整型3行4列”的矩阵,可以这样声明:int a[3][4];在python中一不能声明变量int,二不能列出维数。可以利用列表中夹带列表形式表示。例如:表示矩阵 ,可以这样:count = 1a = []for i in range(0, 3): tmp = [] for j in range(0, 3): tmp.append(count) count += 1 a.append(tmp)print a结果:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]但是注意一点:初始化(赋值全部为0时),下面是错... 阅读全文
posted @ 2013-01-05 11:28 jihite 阅读(42649) 评论(0) 推荐(1) 编辑
摘要:list函数: 功能:将字符创转化为列表,例: 列表基本函数: 1.元素赋值,例: 注意:通过list[0]= 'hel',如果原来位置上有值,会覆盖掉原来的。 2.分片操作 1)显示序列,例:注意:(1)list1[beg:end]将显示列表的从list1[beg]到list1[end-1]... 阅读全文
posted @ 2012-11-21 23:25 jihite 阅读(54538) 评论(5) 推荐(6) 编辑
摘要:时间戳 时间戳是自 1970 年 1 月 1 日(08:00:00 GMT)至当前时间的总秒数。它也被称为 Unix 时间戳(Unix Timestamp),它在unix、c的世界里随处可见;常见形态是浮点数,小数点后面是毫秒。两个时间戳相减就是时间间隔(单位:秒)。 例 其中,time.sleep 阅读全文
posted @ 2012-11-06 22:39 jihite 阅读(27534) 评论(0) 推荐(1) 编辑
摘要:1. isdigit() 判断字符串内容是否全部为数字。是True;否False。2. s.isalpha() 测试s中所有的字符是否全是字母。 3. s.isalnum() 测试s中所有的私服是否全为数字或字母。eg: 4. s.istitle() 测试s中是否所有的词都是首字母大写。eg: 5. count() 判断字串中出现特定字串的次数。eg: s = '123 345 123 34' s.count('123') #结果是26.chr() ascii码转变为字符。7.ord() 字符转变为ascii码。eg: 8.upper() 把字串全部... 阅读全文
posted @ 2012-09-25 23:58 jihite 阅读(630) 评论(0) 推荐(1) 编辑
摘要:定义字典 dic = {'a':"hello",'b':"how",'c':"you"}方法一:for key in dic: print key,dic[key] print key + str(dic[key])结果: a hello ahello c you cyou b how bhow细节:print key,dic[key],后面有个逗号,自动生成一个空格print key + str(dic[key]),连接两个字符串,用的是加号,直接输出,中间不加逗号方法二:for (k 阅读全文
posted @ 2012-09-05 23:42 jihite 阅读(30533) 评论(0) 推荐(1) 编辑
摘要:正则表达式中,group()用来提出分组截获的字符串,()用来分组import rea = "123abc456"print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(0) #123abc456,返回整体print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(1) #123print re.search("([0-9]*)([a-z]*)([0-9]*)",a).group(2) #abcprint re.search 阅读全文
posted @ 2012-08-20 22:37 jihite 阅读(52722) 评论(0) 推荐(10) 编辑
摘要:缘起看到这样的数据:Marek Čech、Beniardá怎样变成相对应的ascii码呢解决import unicodedatas = u"Marek Čech" #(u表示是unicode而非 ascii码,不加报错!)line = unicodedata.normalize('NFKD',s... 阅读全文
posted @ 2012-08-16 22:31 jihite 阅读(26096) 评论(0) 推荐(0) 编辑
摘要:import osimport os.pathrootdir = “d:\data” # 指明被遍历的文件夹for parent,dirnames,filenames in os.walk(rootdir): #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字 for dirname in dirnames: #输出文件夹信息 print "parent is:" + parent print "dirname is"... 阅读全文
posted @ 2012-08-14 22:12 jihite 阅读(123590) 评论(8) 推荐(5) 编辑
摘要:引 字典,形如 dic = {'a':1 , 'b':2 , 'c': 3},字典中的元素没有顺序,所以dic[0]是有语法错误的。并且不可以有重复的键值,所以 dic.add['c'] = 4后,字典变成 {'a':1 , 'b':2 , 'c': 4}. 待解决问题 如何根据需要可以根据“键”或 阅读全文
posted @ 2012-08-07 22:15 jihite 阅读(162629) 评论(0) 推荐(8) 编辑
摘要:案例: ### 1 ### 结果 ### 2 ### 结果 这里注意两点: 1. if str.find('23'): 此时默认为 str.find('23') != 0: 2. find()函数找不到时返回为-1。 经查阅得知其用法: 函数原型:find(str, pos_start, pos_e 阅读全文
posted @ 2012-08-06 21:09 jihite 阅读(140251) 评论(5) 推荐(0) 编辑
摘要:1.打开文件 filename,从里面读东西f = file("filename","r")注意:或读'r'是默认的参数,因此可以省略参数:f = file("finename")文件操作file()和open()是一样的,因此可以互换:f = open("filename")逐行读入 for line in f:读一行:line = f.readline() 这样回把最后的换行符(假设有)读入,去(即等价于操作:line = line[:-1] 或 line = line.strip(" 阅读全文
posted @ 2012-07-29 19:15 jihite 阅读(2315) 评论(0) 推荐(0) 编辑
摘要:1.下载:http://pypi.python.org/pypi/simplejson/ 文件为压缩文件2.解压:可以直接右键:解压文件.例如:D:/simplejson3.开始---运行---输入命令:cmd4.进入到目录(如:D:/simplejson) cd D:/simplejson5.运行安装文件:setup.py install 阅读全文
posted @ 2012-07-25 19:44 jihite 阅读(6589) 评论(0) 推荐(0) 编辑
摘要:dict.get(key)如果用dict[key]这个读取会报KeyError异常,dict.get方法主要是提供一个取不到对应key的value就返回默认值的功能,而dict[key]实际上是调用了__getitem__方法说明:D.get(key[, d]) ->D[k] if k in D, else d. d defaults to None.【转自】http://blog.csdn.net/tianxicool/article/details/6833020 阅读全文
posted @ 2012-07-25 13:00 jihite 阅读(29793) 评论(0) 推荐(1) 编辑