【Python】Java转Python的一些水土不服
2015-12-07 22:54
591 查看
regular expression
java
String text = "你好啊,我的名字叫Ethan Hunt"; text = text.replaceAll("(.*?)([a-zA-Z]+)(.*?)", "$1<$2>$3"); System.out.println(text);
python
import re text = '你好啊,我的名字叫Ethan Hunt'.decode('utf-8') regex = re.sub(ur'(.*?)([a-z_A-Z]+)(.*?)', ur'\1<\2>\3', text) print regex
你好啊,我的名字叫<Ethan> <Hunt>
如果想要多次使用而避免重复编译:
import re regex = re.compile(ur'(.*?)([a-z_A-Z]+)(.*?)') for content in some_file: content = regex.sub(ur'\1<\2>\3', content)
String.substring
text = 'Hello World' print text[6:]
World
Also,
String.charAt
text = 'Hello World' print text[1]
e
class toString
class Pair: def __init__(self, a, b): self.a = a self.b = b def __repr__(self): return '<Pair a:%d b:%d>' % (self.a, self.b) def __str__(self): return 'str <Pair a:%d b:%d>' % (self.a, self.b) p = Pair(1, 2) print p print repr(p) print str(p) lst = [p] print lst
str <Pair a:1 b:2> <Pair a:1 b:2> str <Pair a:1 b:2> [<Pair a:1 b:2>]
获取文件所在目录的上一级目录
import os os.path.abspath(os.path.join(os.path.dirname(__file__),os.path.pardir))
编码问题:csv - CSV File Reading and Writing
源地址import csv, codecs, cStringIO class UTF8Recoder: """ Iterator that reads an encoded stream and reencodes the input to UTF-8 """ def __init__(self, f, encoding): self.reader = codecs.getreader(encoding)(f) def __iter__(self): return self def next(self): return self.reader.next().encode("utf-8") class UnicodeReader: """ A CSV reader which will iterate over lines in the CSV file "f", which is encoded in the given encoding. """ def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds): f = UTF8Recoder(f, encoding) self.reader = csv.reader(f, dialect=dialect, **kwds) def next(self): row = self.reader.next() return [unicode(s, "utf-8") for s in row] def __iter__(self): return self class UnicodeWriter: """ A CSV writer which will write rows to CSV file "f", which is encoded in the given encoding. """ def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds): # Redirect output to a queue self.queue = cStringIO.StringIO() self.writer = csv.writer(self.queue, dialect=dialect, **kwds) self.stream = f self.encoder = codecs.getincrementalencoder(encoding)() def writerow(self, row): self.writer.writerow([s.encode("utf-8") for s in row]) # Fetch UTF-8 output from the queue ... data = self.queue.getvalue() data = data.decode("utf-8") # ... and reencode it into the target encoding data = self.encoder.encode(data) # write to the target stream self.stream.write(data) # empty queue self.queue.truncate(0) def writerows(self, rows): for row in rows: self.writerow(row)
Shanghai
2015.12.07
相关文章推荐
- leetcode LRU Cache python
- python核心编程-生成器
- 用python 10min手写一个简易的实时内存监控系统
- Python的lambda匿名函数
- python核心编程-递归(阶乘)
- python核心编程-作用域
- 如何打包python文件为exe程序
- python核心编程-封包
- k-近邻算法-python实现
- glob
- 用python 10min手写一个简易的实时内存监控系统
- python语法笔记(二)
- LeetCode解题报告--Combination Sum II
- Python多线程进行rpm包编译
- Python转义字符
- Python调用(运行)外部程序参数问题
- python-46: 找到模拟登录中的数据
- LeetCode解题报告--Combination Sum
- Python 安装 更新 Scipy
- Python爬取网易新闻动态评论