You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AttributeError求助:'str'对象无'spilt'属性

解决AttributeError: 'str' object has no attribute 'spilt'及代码问题

直接错误修正

你的AttributeError是拼写错误导致的:Python字符串的分割方法是split(),你写成了spilt(),把这个拼写改过来就能解决当前的错误提示。

代码其他问题修正

除了拼写错误,你的代码还存在aiohttp使用方式错误、异步逻辑缺失等问题,这些会导致即使修正拼写后代码依然无法正常运行。以下是完整的修正代码及说明:

修正后的代码

import asyncio
import random
from aiohttp import request

async def fetch_words():
    # 正确发起异步GET请求
    async with request('GET', 'https://svnweb.freebsd.org/csrg/share/dict/words?view=co&content-type=text%2Fplain') as response:
        # 获取响应的文本内容
        text_content = await response.text()
        # 分割文本为单词列表(已修正拼写错误)
        individual_words = text_content.split()
        # 随机选择一个单词,避免索引越界
        random_word = random.choice(individual_words)
        # 获取该单词的索引
        word_index = individual_words.index(random_word)
        print(f"{random_word} {word_index}")

# 运行异步函数
asyncio.run(fetch_words())

关键修正点

  • 移除了错误的request.__get__调用:aiohttp的request是异步函数,需要通过await配合async with来发起和管理请求。
  • 添加异步运行上下文:aiohttp的异步操作必须在异步环境中执行,这里用asyncio.run()来启动异步函数。
  • 正确获取响应内容:通过await response.text()获取网页的真实文本,而不是直接将request对象转成字符串。
  • 优化随机选择逻辑:用random.choice()直接随机选单词,避免手动生成索引时可能出现的越界问题(原代码中randint(0, len(indivial_words))会取到等于列表长度的索引,超出范围)。

内容的提问来源于stack exchange,提问作者MemesR wou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 01:36:01