首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python代码消除多个UTF8文本文件中文字符中的空格

Python代码消除多个UTF8文本文件中文字符中的空格
EN

Stack Overflow用户
提问于 2019-11-17 20:05:44
回答 1查看 76关注 0票数 0

我正在尝试用Python3.7.2编写Python代码,以便在同一目录下的多个UTF8文本文件中删除所有中文字符中的空格。

我目前的代码只适用于一个文件:

代码语言:javascript
复制
import re

with open("transcript 0623.txt") as text:
    new_text = re.sub("(?<![ -~]) (?![ -~])", "", text)
    with open("transcript 0623_out.txt", "w") as result:
        result.write(new_text)

我得到以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:\Users\Admin\Desktop\Wave.3\test.py", line 4, in <module>
    new_text = re.sub("(?<![ -~]) (?![ -~])", "", text)
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\Lib\re.py", line 192, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object

你能告诉我哪里出了问题并帮我提出改进代码的建议吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-17 20:16:10

open()返回文件对象(来源:https://docs.python.org/3/library/functions.html#open)

如果要对文件内容执行正则表达式操作,则必须在文件对象上使用.read()函数来获取文本内容。

例如,

代码语言:javascript
复制
with open("transcript 0623.txt") as f:

    text = f.read()

    new_text = re.sub("(?<![ -~]) (?![ -~])", "", text)
    with open("transcript 0623_out.txt", "w") as result:
        result.write(new_text)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58900245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档