BUG笔记【1】:AttributeError: ‘NoneType‘ object has no attribute ‘replace‘

在JS中调试无误,但在Python中用execjs.compile调用JS中的函数会报以下错误:

AttributeError: 'NoneType' object has no attribute 'replace'

解决方案:

引入subprocess模块

import subprocess
from functools import partial
subprocess.Popen = partial(subprocess.Popen, encoding='utf-8')

import execjs

get_data = execjs.compile(open('KKK.js',encoding='utf-8').read()).call('encrypted',api,data)

subprocess.Popen是调用系统的接口来创建指定的进程以完成预期的任务,如图所示是将接下来的编码方式默认为utf-8

partial() 函数:给一个或多个参数设置固定的值,减少接下来被调用时的参数个数。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
针对你的问题,"NoneType" object has no attribute 'find_all' 错误通常是因为在BeautifulSoup对象中没有找到指定的标签或属性,导致返回了NoneType对象。解决方法是在使用find_all()方法之前,先判断一下对象是否为NoneType,例如可以使用if语句进行判断。 针对你的问题,"NoneType" object has no attribute 'copy' 错误通常是因为在使用copy()方法时,对象为NoneType类型,无法使用copy()方法。解决方法是在使用copy()方法之前,先判断一下对象是否为NoneType,例如可以使用if语句进行判断。 以下是解决以上两个问题的代码示例: 1.解决'NoneType' object has no attribute 'find_all'错误 ```python from bs4 import BeautifulSoup import requests url = 'https://www.example.com' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 判断对象是否为NoneType if soup.find_all('div', class_='example'): # 对象不为NoneType,执行find_all()方法 div_list = soup.find_all('div', class_='example') for div in div_list: print(div.text) else: # 对象为NoneType,输出提示信息 print('未找到指定标签或属性') ``` 2.解决'NoneType' object has no attribute 'copy'错误 ```python import pandas as pd df = pd.read_csv('example.csv') # 判断对象是否为NoneType if df is not None: # 对象不为NoneType,执行copy()方法 df_copy = df.copy() print(df_copy.head()) else: # 对象为NoneType,输出提示信息 print('读取csv文件失败') ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值