concatenation of two unicode srings?

丶灬走出姿态 提交于 2019-12-09 03:56:29

问题


#!/usr/bin/python
# -*- coding: utf-8 -*-

import re
separators = [u"।", u",", u"."]
dat=open(r"C:\Users\User\Desktop\text4.txt",'r').read()
text=dat.decode("utf-8")
wros=text.split()
out=""
import string
space=" "
counter=0;
for word in wros:
        out=u" ".join(word)

writ=open("C:\\Users\\User\\Desktop\\text5.txt",'w')
writ.write(out.encode('utf-8'))
writ.close()

text4.txt contains भारत का इतिहास काफी समृद्ध एवं विस्तृत है।

text5.txt outputs as ह ै ।

desired output is भारत का इतिहास काफी समृद्ध एवं विस्तृत है।

please tell me what i am doing is wrong ? HElp required ! thanks in advance


回答1:


I don't know what you have to do with word but I would do it this way:

text = open('text4.txt').read()

text = text.decode("utf-8")

# split one string into list of (old) words
words = text.split()

# list for new words
out = []

# modify words
for word in words:
    # here - do something with `word`
    out.append(word)

# concatenate all new words to one string 
result = u' '.join(out)

result = result.encode('utf-8')

writ = open('text5.txt', 'w')
writ.write(result)
writ.close()



回答2:


Here's a template:

# no need for coding:utf8 unless *source code* has non-ASCII.

import io # Contains modern version of open compatible with Python 3.

# Use with and file is automatically closed when block is exited.
with io.open(r'c:\users\user\desktop\text4.txt',encoding='utf8') as dat:
    text = dat.read()

words = text.split()

#edit words

text = u' '.join(words)

with io.open(r'c:\users\user\desktop\text5.txt','w',encoding='utf8') as writ:
    writ.write(text)


来源:https://stackoverflow.com/questions/40916381/concatenation-of-two-unicode-srings

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!