python中文单字问题
一直都有这个问题的说,或许其实并没有自己想象的那么难处理的说;对应的python2 python3都有相应的解决办法。已知有文件明天天气现在需要进行单字切分,得到文件明天天气python2 与 python3 都有相应的解决办法,现在直接贴代码了python2#!/usr/bin/env python#coding:utf-8import osimport sy...
·
一直都有这个问题的说,或许其实并没有自己想象的那么难处理的说;
对应的python2 python3都有相应的解决办法。
已知有文件
明天天气
现在需要进行单字切分,得到文件
明
天
天
气
python2 与 python3 都有相应的解决办法,现在直接贴代码了
python2
#!/usr/bin/env python
#coding:utf-8
import os
import sys
import string
import re
class GetObject(object):
def __init__(self, input_str, output_str):
self.input_str = input_str
self.output_str = output_str
def Process(self):
print('Process here')
fp = open(self.input_str, 'rt')
fp_out = open(self.output_str, 'wt')
for line in fp.readlines():
line = line.strip()
for key in line.decode('utf-8'):
fp_out.write('%s\n' % (key.encode('utf-8')))
fp.close()
fp_out.close()
return
if __name__ == '__main__':
if len(sys.argv) != 3:
print('usage: %s input output' % (sys.argv[0]))
sys.exit(-1)
handle = GetObject(sys.argv[1], sys.argv[2])
handle.Process()
对应的命令行是
python2 pysh/test_char.py test.txt test.txt.out
以上就是python2的。
python3
#!/usr/bin/env python
#coding:utf-8
import os
import sys
import string
import re
class GetObject(object):
def __init__(self, input_str, output_str):
self.input_str = input_str
self.output_str = output_str
def Process(self):
print('Process here')
fp = open(self.input_str, 'rt')
fp_out = open(self.output_str, 'wt')
for line in fp.readlines():
line = line.strip()
for key in line:
fp_out.write('%s\n' % (key))
fp.close()
fp_out.close()
return
if __name__ == '__main__':
if len(sys.argv) != 3:
print('usage: %s input output' % (sys.argv[0]))
sys.exit(-1)
handle = GetObject(sys.argv[1], sys.argv[2])
handle.Process()
那么对应的命令行是
python3 pysh/test_char.py test.txt test.txt.out
python3中 str 没有 encode decode 函数;这里可以直接使用。
更多推荐
所有评论(0)