摘要: Python的系统模块包括:sys, os, glob, socket, threading, _thread, queue, time, timeit, subprocess, multiprocessing, signal, select, shutil, tempfile等。其中大多数系统级接口集中在:sys和os两个模块。 sys模块包含:平台与版本的信息,如sys.platform, sys.maxsize, sys.version模块搜索路径sys.path模块表sys.modules,这是一个包含python程序中import进来的模块的name:module信息的字典异常信.. 阅读全文
posted @ 2012-08-05 10:37 cacique 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 读取文件最方便的是一次性读入文件内容并放置到一个大字符串中all_the_text = open('thefile.txt').read()#文本文件中的所有文本all_the_text = open('thefile.txt','rb').read()#二进制文件中的所有数据为了安全,最好给打开的文件指定一个名字 例如file_object = open('thefile.txt')#使用try/finally 语句是为了保证文件对象即使在读取中发生错误也可以被关闭 注意不要把open放到try/finally中try: all 阅读全文
posted @ 2012-08-02 11:24 cacique 阅读(2358) 评论(0) 推荐(1) 编辑
摘要: 使用Unicode 处理国际化文本任务:需要处理包含非ASCII字符的字符串解决>>> german_ae = unicode('xc3\xa4','utf8')'''german_ae 是一个unicode字符串 根据指定的utf-8编码方式,通过解析单字节字符串xc3\xa4 创建了一个Unicode字符串 然后就可以像处理其他字符串一样处理unicode字符串'''>>>sentence = 'This is a ' + german_ae>>& 阅读全文
posted @ 2012-07-31 21:25 cacique 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 任务:给定一个字符串 通过查询一个字符串替换字典 将字符串中被标记的子字符串替换掉解决方案Python2.4提供了新的string.Template类 可以完成实现方法#!/usr/bin/python# -*- coding: utf-8 -*-#替换字符串中的子串 使用Templateimport stringdef sub_replace(str): #从字符串生成模版 其中标识符被$标记 new_style = string.Template(str) #给模版的substitute方法传入一个字典参数并调用之 print new_style.substitut... 阅读全文
posted @ 2012-07-27 11:27 cacique 阅读(1062) 评论(0) 推荐(0) 编辑
摘要: 任务:给定一个字符串 通过查询一个替换字典 将字符串中被标记的子字符串替换掉#!/usr/bin/python# -*- coding: utf-8 -*-#替换字符串中的子串def expand(format,d,market='"',safe=False): if safe: def lookup(w): return d.get(w,w.join(marker*2)) else: def lookup(w): return d[w] parts = format.split(marker) p... 阅读全文
posted @ 2012-07-25 18:54 cacique 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 任务:有一个多行文本的字符串 需要创建该字符串的一个拷贝,并在每行行首添加或删除一些空格,以保证每行缩进都是指定数目的空格数利用字符串对象提供的 strip() s.splitlines()可以很快的实现#!/usr/bin/python# -*- coding: utf-8 -*-#改变多行文本的缩进def reindent(s,numSpaces): leading_space = numSpaces * ' ' lines = [leading_space + line.strip() for line in s.splitlines()] return '\n& 阅读全文
posted @ 2012-07-23 11:17 cacique 阅读(1149) 评论(0) 推荐(0) 编辑
摘要: 访问子字符串最简单的的方式是使用切片afiled = theline[3:8]但一次只能取一个子字符串如果还要考虑字段的长度 struct.unpack可能更合适import struct#得到一个5字节的字符串 跳过三字节 得到两个8字节的字符串 以及其余部分baseformat = "5s 3x 8s 8s"#theline超出的长度也由这个base-format 确定numremain = len(theline) - struct.calcsize(baseformat)#用合适的s或者x字段完成格式 然后unpackformat = "%s %ds&qu 阅读全文
posted @ 2012-07-22 14:06 cacique 阅读(624) 评论(0) 推荐(0) 编辑
摘要: python中控制大小写的方法有以下几个s.upper() #将所有字符转变成大写s.lower() #将所有字符转变成小写s.capitalize() #将字符串的第一个字符转变成大写 和 s[:1].upper()+s[1:].lower()功能相似s.title() #将每个单词的第一个字符大写判断字符串是否符合要求的方法isupper()islower()istitle()如果符合这三个方法会返回一个True只不过没有iscapitalize()方法 我们实现一下#!/usr/bin/python# -*- coding: utf-8 -*-#控制大小写impor... 阅读全文
posted @ 2012-07-22 09:04 cacique 阅读(294) 评论(0) 推荐(0) 编辑
摘要: python 中,字符串中即可以容纳文本,也可以容纳任意字节如何检查一个字符串是文本还是二进制 1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 4 #检查字符串是文本还是二进制 5 6 from __future__ import division 7 import string 8 text_characters = "".join(map(chr,range(32,127))) + "\n\r\t\b" 9 _null_trans = string.maketrans('','& 阅读全文
posted @ 2012-07-22 08:41 cacique 阅读(930) 评论(0) 推荐(0) 编辑
摘要: 1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 4 #过滤字符串中不属于指定集合的字符 5 6 import string 7 8 # 生成所有字符的可复用的字符串 它还可以作为一个翻译表 指明无需翻译 9 allchars = string.maketrans('','')10 11 12 def makefilter(keep):13 """返回一个函数 此函数接受一个字符串为参数14 并返回字符串的一个部分拷贝15 次拷贝纸包含在keep中的字符 keep必须是一个普通字符&qu 阅读全文
posted @ 2012-07-21 18:13 cacique 阅读(1755) 评论(0) 推荐(0) 编辑
Copyright ©2011 Goodspeed Cheng