解决:TypeError: write() argument must be str, not Tag

news2024/9/21 11:06:09

解决:TypeError: write() argument must be str, not Tag



文章目录

  • 解决:TypeError: write() argument must be str, not Tag
    • 背景
    • 报错问题
    • 报错翻译
    • 报错位置代码
    • 报错原因
    • 解决方法
      • 今天的分享就到此结束了



背景

在使用之前的代码时,报错:
Traceback (most recent call last):
File “E:/Test/test.py”, line 14, in
file.write(tag_str)
TypeError: write() argument must be str, not Tag



报错问题


Traceback (most recent call last):
  File "E:/Test/test.py", line 14, in <module>
    file.write(tag_str)
TypeError: write() argument must be str, not Tag



报错翻译

主要报错信息内容翻译如下所示:


Traceback (most recent call last):
  File "E:/Test/test.py", line 14, in <module>
    file.write(tag_str)
TypeError: write() argument must be str, not Tag

翻译:

追溯(最近一次通话):
文件“E:/Test/Test.py”,第14行,在中
file.write(tag_str)
TypeError:write()参数必须是str,而不是Tag



报错位置代码


...
        divs = html.xpath('//div[@class="rank"]//span[@class="span"]') 
        file.write(tag_str)
...



报错原因

经过查阅资料,发现是这个错误产生的原因是在代码中,试图使用写入(write)函数将一个Tag对象写入某个文件,但是write函数要求的参数必须是字符串,而不是Tag对象。然后这样的错误提示就是这么产生的。

小伙伴们按下面的解决方法即可解决!!!



解决方法

要解决这个错误,需要检查你代码,确保在调用write函数时传入的参数是一个字符串。例如,可以将Tag对象转换为字符串,然后再使用write函数写入文件,代码如下。

正确的代码是:


...
        tag_str = str(tag_object)
        file.write(tag_str) 

...

HTML()函数的官方文档内容如下:

write(fd, str)

Write the bytestring in str to file descriptor fd.

Return the number of bytes actually written.

Note This function is intended for low-level I/O and must be applied
to a file descriptor as returned by os.open() or pipe(). To write a
“file object” returned by the built-in function open() or by popen()
or fdopen(), or sys.stdout or sys.stderr, use its write() method.
Changed in version 3.5: If the system call is interrupted and the
signal handler does not raise an exception, the function now retries
the system call instead of raising an InterruptedError exception (see
PEP 475 for the rationale).

翻译如下:

write(fd, str)

将str中的字节串写入文件描述符fd。

返回实际写入的字节数。

注意:此函数用于低级I/O,必须应用于由os.open()或pipe()返回的文件描述符。编写由内置函数open()或popen()或fdopen()返回的“文件对象”。标准输出或系统。Stderr,使用其write()方法。
在3.5版更改:如果系统调用被中断,而信号处理程序没有引发异常,该函数现在会重试系统调用,而不是引发InterruptedError异常(原因请参阅PEP 475)。



今天的分享就到此结束了

欢迎点赞评论关注三连

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1304203.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt搭建MQTT编程环境

QT 部署官方MQTT模块 在Qt Creator中&#xff0c;默认是没有部署Mqtt模块的&#xff0c;在使用QT编程之前&#xff0c;先把mqtt 模块部署到开发环境当中。参考博文&#xff1a;Qt开发技术&#xff1a;mqtt介绍、QtMqtt编译和开发环境搭建_长沙红胖子-CSDN博客 下载 Qt官方在g…

HTML 块级元素与行内元素有哪些以及注意、总结

行内元素和块级元素是HTML中的两种元素类型&#xff0c;它们在页面中的显示方式和行为有所不同。 块级元素&#xff08;Block-level Elements&#xff09;&#xff1a; 常见的块级元素有div、p、h1-h6、ul、ol、li、table、form等。 块级元素会独占一行&#xff0c;即使没有…

WPF仿网易云搭建笔记(4):信息流控制之消息订阅

文章目录 专栏和Gitee仓库前言消息订阅最简单的案例简单用例父组件订阅子组件回调 结果 消息订阅机制消息token是A还是B?传递消息的载体。双重token重复订阅问题 结论 专栏和Gitee仓库 WPF仿网易云 Gitee仓库 WPF仿网易云 CSDN博客专栏 前言 上一篇文章中&#xff0c;我们简单…

最大公因数,最小公倍数详解

前言 对于初学编程的小伙伴们肯定经常遇见此类问题&#xff0c;而且为之头疼&#xff0c;今天我来给大家分享一下&#xff0c;最大公因数和最小公倍数的求法。让我们开始吧&#xff01; 文章目录 1&#xff0c;最大公因数法1法2法3 2&#xff0c;最小公倍数3&#xff0c;尾声 …

修改 vCenter Server 的 FQDN | hostname | PNID

目录 1 先决条件2. 修改 VC 7.0.3 hostname&#xff08;1&#xff09;备份 VCSA&#xff08;2&#xff09;为VCSA的新hostname创建DNS记录&#xff08;3&#xff09;修改 VCSA 的hostname① 进入vCenter Server VAMI② 查看当前 FQDN③ 编辑网络设置④ 选择网络适配器⑤ 修改 h…

【Linux】 线程池

线程池 什么是线程池&#xff1f; 一次预先申请一批线程&#xff0c;让这批线程有任务&#xff0c;就处理任务&#xff1b;没任务&#xff0c;就处于等待状态。 为什么要有线程池&#xff1f; 以空间换时间&#xff0c;预先申请一批线程&#xff0c;当有任务到来&#xff0c;可…

arkts编译报错-arkts-limited-stdlib错误【Bug已完美解决-鸿蒙开发】

文章目录 项目场景:问题描述原因分析:解决方案:适配指导案例此Bug解决方案总结项目场景: arkts编译报错-arkts-limited-stdlib错误。 我用Deveco studio4.0 beta2开发应用,报arkts-limited-stdlib错误 报错内容为: ERROR: ArKTS:ERROR File: D:/prRevivw/3792lapplica…

基于深度学习的yolov5入侵检测系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介IntroductionYOLOv5 Overview入侵检测系统架构1. 数据采集2. YOLOv5模型训练3. 实时监测4. 告警与反馈 性能评估与优化 二、功能三、系统四. 总结 一项目简…

渗透测试是什么

随着信息技术的飞速发展&#xff0c;网络安全问题日益凸显。其中&#xff0c;渗透测试作为一种重要的安全评估方法&#xff0c;已经被越来越多的企业和组织所采用。渗透测试通过模拟黑客攻击&#xff0c;发现并修复潜在的安全漏洞&#xff0c;从而提高系统的安全性。 直白的说…

【数据安全】金融行业数据安全保障措施汇总

数字化的今天&#xff0c;数据的价值不可估量&#xff0c;尤其是金融行业&#xff0c;数据不仅代表着企业的核心资产&#xff0c;还涉及到客户的隐私和信任。因此对于金融行业而言&#xff0c;保障数据安全至关重要。下面我们就来一起讨论为什么金融行业要保障数据安全&#xf…

功能介绍 | 红队企业版全新功能定时扫描与企业版报告强势来袭!

0x01 前言 面对大型企业复杂且庞大的网络环境&#xff0c;我们通常会遇到资产繁杂、边缘资产发现困难以及资产种类梳理不全等问题。Goby红队企业版的出现&#xff0c;旨在除了满足企业在漏洞扫描、威胁情报分析、安全评估等方面的基础需求之外&#xff0c;我们也在一直持续更新…

12.5单端口RAM,JS计数器,流水线乘法器,不重叠序列检测器(状态机+移位寄存器),信号发生器,交通灯

单端口RAM timescale 1ns/1nsmodule RAM_1port(input clk,input rst,input enb,input [6:0]addr,input [3:0]w_data,output wire [3:0]r_data );reg [6:0]mem[127:0];integer i;always (posedge clk or negedge rst) beginif(!rst) beginfor (i0; i<127 ; ii1) beginmem[i]…

Python3 中常见的数据类型

目录 数字(Number)总结 字符串(String)字符串运算符字符串格式化字符串的截取总结 List&#xff08;列表&#xff09;更新列表删除列表元素列表函数&方法总结 Tuple&#xff08;元组&#xff09;修改元组删除元组总结 Set&#xff08;集合&#xff09;Dictionary&#xff0…

Java实现快速排序算法

快速排序算法 &#xff08;1&#xff09;概念&#xff1a;快速排序是指通过一趟排序将要排序的数据分割成独立的两部分&#xff0c;其中一部分的所有数据都比另外一部分的所有数据都要小&#xff0c;然后再按此方法对这两部分数据分别进行快速排序。整个排序过程可以递归进行&…

Python中的魔力编程:掌握面向对象之道

Python中的面向对象编程 背景&#xff1a; ​ 最近在看一些代码的时候&#xff0c;对类中的一些内置方法不是很懂&#xff0c;因此出一篇文章来细说一下&#xff0c;希望大家看完后对Python中类有一个清楚的认识。 基础铺垫&#xff1a; ​ 面向对象的三个特点&#xff1a;…

案例课6——追一科技

1.公司介绍 追一科技是一家企业级智能服务AI公司&#xff0c;创立于2016年3月&#xff0c;主攻深度学习和自然语言处理&#xff0c;为金融、零售、生活服务等领域企业提供智能服务系统和解决方案。 追一科技的智能服务系统AIforce&#xff0c;拥有AI语义理解能力、智能产品矩阵…

【Android】完美解决Cannot resolve method ‘subscribe(Observer<T>)‘

问题截图&#xff1a; 解决方法&#xff1a; 如上图&#xff0c;看我标123的三个地方&#xff0c;2标注的地方提示我们我方法实际返回的值是Observer<Res_GetCellCode>,而我想要返回的结果是&#xff1a;3标记的结果&#xff1a;Observer<Res_QueryCTInfo>&#xf…

python自动化运维快速入门,python自动化运维教程

大家好&#xff0c;给大家分享一下python自动化运维需要掌握的技能&#xff0c;很多人还不知道这一点。下面详细解释一下。现在让我们来看看&#xff01; 面向学员 熟练使用计算机&#xff0c;对Windows、Linux 有一点了解从业职或在校学生 对目前从事互联网运维&#xff0c;想…

js 生成分享码或分享口令

代码 function getShareToken(length) {var characters ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789;var shareToken ;for (var i 0; i < length; i) {var randomIndex Math.floor(Math.random() * characters.length);var randomChar character…

亚马逊云科技Amazon Bedrock,现推出更多模型选择和全新强大功能

亚马逊云科技在re:Invent 2023上宣布推出Amazon Bedrock更多模型选择和强大功能&#xff0c;帮助客户更轻松地构建和规模化针对其业务定制的生成式AI应用程序。 Amazon Bedrock是一项全面托管的服务&#xff0c;用户可轻松访问来自AI21 Labs、Anthropic、Cohere、Meta、Stabili…