【问题标题】:My readline variable is not changing from strip()我的 readline 变量没有从 strip() 改变
【发布时间】:2019-07-28 19:06:32
【问题描述】:

我的程序应该:

1) 从文本文件中读取一行(.readline() 函数)

2) 将其放在 Python 程序中的变量中

3) 使用 .strip() 函数去除非字母的文本行

4) 将其放入字典中。

然后我打印字典的内容。

但是,当我将 readline 变量发送到 .strip() 函数并打印字典时,没有任何内容被剥离。 请告诉我我做错了什么或遗漏了什么。

dict = {}

with open ('Text for Read from File.txt') as linefile:

    readfile = linefile.readline()

    readfile = str(readfile)

    readfile = readfile.strip()

    dict[readfile] =+ 1

print(dict)

这是打印出来的:

{'/a/abbey/sun_aqswjsnjlrfzzhiz.jpg\n': 1}

这是文本文件中的行,但所有的斜线和句点都应该被删除。

【问题讨论】:

  • readfile.strip('a') 应该做什么?它去除了'a' 字符,但你为什么要使用它?
  • 当心:dict[readfile] =+ 1 是 dict[readfile] = (+1),而不是 dict[readfile] += 1。如果要计算每行出现的次数,请使用collections.Counter。
  • @ForceBru 对此感到抱歉。我把它放在那里,看看 strip 函数是否应该有一些特定于 strip 的东西,但这也不起作用。

标签: python python-3.x dictionary readline strip


【解决方案1】:

.strip('a') 将从字符串的左侧或右侧删除字符 "a"。剥离所有非字母字符,您可以执行以下操作之一:

>>> import re
>>>
>>> re.sub('^[^a-z]+|[^a-z]+$', '', s)
'a/abbey/sun_aqswjsnjlrfzzhiz.jpg'
>>>
>>> ''.join(re.findall('(?<!^)[^a-z]+(?!$)|[a-z]+', s))
'a/abbey/sun_aqswjsnjlrfzzhiz.jpg'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 2018-01-20
    • 1970-01-01
    • 2022-12-06
    相关资源
    最近更新 更多