- 【新生必会】30个较难Python脚本,建议收藏。
.Boss.
信息可视化python人工智能算法开发语言机器学习
本篇较难,建议优先学习上篇;20个硬核Python脚本-CSDN博客接上篇文章,对于Pyhon的学习,上篇学习的结束相信大家对于Pyhon有了一定的理解和经验,学习完上篇文章之后再研究研究剩下的30个脚本你将会有所成就!加油!目录21、数据库连接-SQLite22、图像处理-Pillow23、图形界面-Tkinter24、文本生成-Faker25、加密和解密-cryptography26、Sock
- python import 另一个文件夹下的类
zhousenshan
python新赛道pythondjango
在Python开发中,有时我们需要将不同文件夹中的模块或类相互导入,以实现代码的复用和组织。对于刚入行的小白来说,这可能会让人感到有些困惑。本文将帮助你了解如何在Python中导入另一个文件夹下的类,并为你提供详细的步骤与代码示例。python类与对象的详细用法_python撖寡情-CSDN博客导入类的流程为了解决这个问题,我们可以将导入的过程分为以下几个步骤:步骤描述1确认项目结构,了解不同文件
- PyTorch 生态概览:为什么选择动态计算图框架?
小诸葛IT课堂
pytorch人工智能python
一、PyTorch的核心价值PyTorch作为深度学习框架的后起之秀,通过动态计算图技术革新了传统的静态图模式。其核心优势体现在:动态灵活性:代码即模型,支持即时调试Python原生支持:无缝衔接Python生态高效的GPU加速:通过CUDA实现透明的硬件加速活跃的社区生态:GitHub贡献者超1.8万人,日均更新100+次二、动态计算图VS静态计算图对比#动态计算图示例(PyTorch)impo
- Python文件中动态导入多个.py文件
_长风_
Python脚本方法大合集python
Python文件中动态导入多个.py文件一、背景 在一些自动化脚本中,我们需要一些中间文件作为引用文件来处理一些自动化的工作,但是中间文件数量可能根据需求的变更发生不规律的变化,所以就需要一些读文件夹来自动获取这些需要引用的中间文件,下面就是我整理的一个能够实现动态导入的方法。二、实现思路及步骤生成文件:a.py脚本会生成b.py和c.py文件,并在其中定义一个简单的函数。执行生成文件脚本:在m
- 基于python+django+vue.js开发的社区养老管理系统源码+运行步骤
冷琴1996
Python系统设计pythondjangovue.js
业余时间开发的社区养老系统,基于python/vue技术开发。学习过程问题可以留言。功能介绍平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。功能包括:老人管理、护工管理、亲属管理、病史管理、房间管理、活动管理、用户管理、日志管理、系统信息模块。源码地址https://github.com/geeeeeeeek/python_yanglao演示地址ht
- Python从一个文件导入另一个文件的方法
_苏歌
Pythonpython
从一个文件中导入另一个文件需要的函数#导入所需要的文件importChrome_HandLessimporttimebrowser=Chrome_HandLess.share_browser()url='https://www.baidu.com/'browser.get(url)#获取输入框对象input_button=browser.find_element(by='id',value='kw
- LeetCode 第6题:Z字形变换(Python3解法)
little student
LeetCodeleetcode算法职场和发展
文章目录1:问题描述2:问题分析2.1时间复杂度和空间复杂度2.2二维矩阵2.2.1构建矩阵2.2.2判断位置2.2.3边界2.2.4代码2.3改进的二维矩阵2.3.1代码2.4构造法2.4.1代码1:问题描述来源:LeetCode难度:中等问题详情:将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z字形排列。比如输入字符串为“PAYPALISHIRING”行数为3时,排列
- python requests库详解_Python Requests库详解
momo呀耶
pythonrequests库详解
Requests是用Python语言编写,基于urllib,采用Apache2Licensed开源协议的HTTP库。它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。一句话--Python实现的简单易用的HTTP库安装Requestspip3isntallrequestsrequest实例引入importrequestsresponse=requests.get('htt
- python文件导入另外个文件
LedMetallica
python开发语言
我整理的一些关于【Python】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/Hpqqk2如何在Python中导入文件在Python编程中,文件的导入是一个常见而重要的操作。通过导入其他Python文件的功能,我们可以重用代码、组织项目结构、提升代码的可读性和可维护性。本文将带你逐步了解如何实现Python文件的导入,并提供必要的代码示例和详细解释。
- python之requests库
qq_44659804
pythonpython开发语言
python之requests库requests库请求方法示例get方法get方法访问百度的输出指定方法发送请求简单的requests请求例子response响应对象的text和content之间的区别发送带header的请求发送带参数的请求在headers参数中携带Cookie两种使用cookie的形式:1.2.超时参数(timeout)使用代理IP(proxies)使用verify参数忽略CA
- python导入不同目录下的py文件
孙二羔
pythonpython
文章已迁移至https://www.yuque.com/sunergao-koyun/pamxml/wx38h5
- python使用importlib进行动态导入py文件
*Major*
python开发语言opencv
python动态导入py文件importimportlibdefdynamic_import(module):returnimportlib.import_module(module)实例importimportlibimportcv2defdynamic_import(module):returnimportlib.import_module(module)classOpenCVAlgo:def
- 学习pytorch
阿什么名字不会重复呢
学习pytorch人工智能
学习PyTorch是一个很好的选择,尤其是如果你对深度学习和机器学习感兴趣。以下是一个详细的学习计划,可以帮助你系统地掌握PyTorch的基本概念和应用。学习计划概览学习周期:8周(每周约4-5小时)目标:掌握PyTorch基础,能够实现简单的深度学习模型。第1周:基础知识目标:了解深度学习的基础知识,掌握Python和NumPy基础。任务:学习Python基础(数据类型、控制流、函数、类)。资源
- python 如何引入同一个文件夹下py方法
m0_68335176
eclipse
前言毕业快三年了,前后也待过几家公司,碰到各种各样的同事。见识过各种各样的代码,优秀的、垃圾的、不堪入目的、看了想跑路的等等,所以这篇文章记录一下一个优秀的后端Java开发应该有哪些好的开发习惯。拆分合理的目录结构受传统的MVC模式影响,传统做法大多是几个固定的文件夹controller、service、mapper、entity,然后无限制添加,到最后你就会发现一个service文件夹下面有几十
- 【Python】 如何在Python中导入其他Python文件?
civilpy
python开发语言
基本原理在Python编程中,我们经常需要将代码组织成模块,以便于重用和维护。模块是包含Python定义和语句的文件。导入模块可以让你访问其他文件中定义的函数、类和变量等。Python提供了几种不同的方法来导入模块。代码示例示例1:导入整个模块假设我们有一个名为math_functions.py的文件,它定义了一些数学函数。我们可以在另一个Python文件中导入这个模块,如下所示:#math_fu
- QT:文件读取
Yanjun2i
qt开发语言
问题:在文件读取,判断md5值时,遇到py文件读取转String后,再转byte,md5前后不一致问题。解决方法:python文件读取要使用QTextStream,避免\t、\r、\n的换行符跨平台问题(window系统换行符和linux换行符不一致)。QTextStream默认帮你处理了换行符跨平台问题。\r:回到开头\n:换行一般读取文件的方式是:boolxxxxClass::readFile
- Python中Requests库的用法
R3eE9y2OeFcU40
前面讲了Python的urllib库的使用和方法,Python网络数据采集Urllib库的基本使用,Python的urllib高级用法。今天我们来学习下Python中Requests库的用法。Requests库的安装利用pip安装,如果你安装了pip包(一款Python包管理工具,不知道可以百度哟),或者集成环境,比如Python(x,y)或者anaconda的话,就可以直接使用pip安装Pyth
- ruby分割字符串_Ruby字符串的一些方法
狄息桐
ruby分割字符串
最近因为公司需求开始看ruby,先从ruby的基本数据类型开始看看到ruby的字符串类型string,发现ruby中的字符串单双引号是不一样的,这点和Python有那么点不一样主要是我们对字符串进行变量引用的时候要使用双引号如下:可支持全部的转义字符及用#{exp}将Ruby中的值插入字符串中例:i=5str=“abab#{i}cjd”#->abab5cjd“#{‘ho‘*3}happynewye
- 正式开启Django之旅
__淡墨青衫__
Djangodjangopython后端
1、回顾创建django项目(1)、使用创建django指令:django-adminstartproject项目名称(2)、在settings.py文件,修改配置文件LANGUAGE_CODE='zh-hans'#需要设置为中文TIME_ZONE='Asia/Shanghai'#时区设置为亚洲/上海(3)、启动django项目指令为pythonmanage.py端口***如需外部访问需要在修改s
- 《Python程序设计基础 》课堂笔记整理
金土火
Pythonpython
1数据1.1基本数据类型1.1.2数字类型x//yx与y整数商,即不大于x与y之商的最大整数x的y次幂,即(x+yj).real复数的实部;(x+yj).imag复数的虚部1.1.3优先级等于,顺序从右向左1.2组合数据类型1.2.1序列类型列表类型字符串使用双引号或单引号括起来的零个或多个字符,字符串是字符的序。1.正向递增序号:正向递增以最左侧字符序号为0,向右依次递增,最右侧字符序号为L-1
- python中collections_python中的collections
weixin_39892481
python中有大量的内置模块,很多是属于特定开发的功能性模块,但collections是属于对基础数据的类型的补充模块,因此,在日常代码中使用频率更高一些,值得做个笔记,本文只做主要关键字介绍,详细的功能仍然要翻阅官方文档,地址如下:英文站:https://docs.python.org/3.5/library/collections.html中文站:http://python.usyiyi.c
- python中的 collections 模块(用法、详解、底层原理,示例等)
还是那个同伟伟
Python进阶pythoncollections字典集合
1、collections模块中的defaultdict1.1defaultdict功能可以设置一个默认值作为字典中新key的默认值。该默认值可以是任何对象,包括函数、列表、元组、集合等。默认值不需要像dict那样事先定义,因为它在需要的时候会自动创建使用defaultdict,可以简化代码并提高代码的可读性,而且可以防止KeyError异常的出现。同时,defaultdict的性能与普通字典相当
- Python中的collections模块
木心
#Pythonpython开发语言
Python中的collections模块文章目录Python中的collections模块1.Counter对象2.deque对象3.defaultdict对象4.namedtuple5.OrderedDictReferencePython中的collections提供许多容器数据类型,这个模块实现了一些专门化的容器,提供了对Python的通用内建容器dict、list、set和tuple的补充
- 第十五届蓝桥杯省赛PythonB组题解汇总
信奥郭老师
蓝桥杯职场和发展
A-穿越时空之门B-数字串个数C-连连看D-神奇闹钟E-蓝桥村的真相F-魔法巡游G-缴纳过路费H-纯职业小组
- Python项目--外星人入侵--武装飞船
PRCORANGE
python
武装飞船开始游戏项目创建Pygame窗口以及响应用户输入首先,我们创建一个空的Pygame窗口。使用Pygame编写的游戏的基本结构如下:#alien_invasion.pyimportsysimportpygamedefrun_game():#初始化游戏并创建一个屏幕对象pygame.init()screen=pygame.display.set_mode((1200,800))#注意这里是元组
- Python--外星人入侵--记分
PRCORANGE
python
记分添加Play按钮当前,这个游戏在玩家运行alien_invasion.py时就开始了。下面让游戏一开始处于非活动状态,并提示玩家单击Play按钮来开始游戏。#game_stats.pydef__init__(self,ai_settings):"""初始化统计信息"""self.ai_settings=ai_settingsself.reset_stats()#游戏刚启动时处于活动状态self
- 蓝桥杯 Python组-神奇闹钟(datetime库)
Aurora_th
蓝桥杯蓝桥杯算法职场和发展pythondatetime
神奇闹钟传送门:0神奇闹钟-蓝桥云课问题描述小蓝发现了一个神奇的闹钟,从纪元时间(1970年11日00:00:00)开始,每经过x分钟,这个闹钟便会触发一次闹铃(纪元时间也会响铃)。这引起了小蓝的兴趣,他想要好好研究下这个闹钟。对于给出的任意一个格式为уууу-MM-ddHH:mm:ss的时间,小蓝想要知道在这个时间点之前(包含这个时间点)的最近的一次闹铃时间是哪个时间?注意,你不必考虑时区问题。
- Python 基础知识整理笔记
chuanauc
笔记
闹麻了,因为各种原因,现在需要重新回顾一下Python,话不多说,开始吧1.Python是解释型语言&&Python与C++代码执行过程的区别:(1)C++源码(Source):C++的源码文件是.cpp文件预处理(PreProcess):生成.i文件预处理的操作有处理#include、#define等宏指令,编译(Compile):将.cpp文件编译为.s文件,此时的.s文件是汇编文件,无法被C
- Python游戏开发自学指南:从入门到实践(第四天)
Small踢倒coffee_氕氘氚
python自学经验分享笔记
Python不仅适用于数据分析、Web开发和自动化脚本,还可以用于游戏开发!虽然Python不是传统意义上的游戏开发语言,但其简洁的语法和丰富的库使其成为初学者学习游戏开发的绝佳选择。本文将为你提供一份全面的Python游戏开发自学指南,帮助你从入门到实践,掌握用Python开发游戏的技能。##一、为什么选择Python开发游戏?1.**简单易学**:Python语法简洁,适合初学者快速上手。2.
- 【蓝桥杯】省赛:神奇闹钟
遥感小萌新
蓝桥杯蓝桥杯职场和发展
思路python做这题很简单,灵活用datetime库即可codeimportosimportsys#请在此输入您的代码importdatetimestart=datetime.datetime(1970,1,1,0,0,0)for_inrange(int(input())):ls=input().split()end=datetime.datetime.strptime(ls[0]+ls[1],
- java观察者模式
3213213333332132
java设计模式游戏观察者模式
观察者模式——顾名思义,就是一个对象观察另一个对象,当被观察的对象发生变化时,观察者也会跟着变化。
在日常中,我们配java环境变量时,设置一个JAVAHOME变量,这就是被观察者,使用了JAVAHOME变量的对象都是观察者,一旦JAVAHOME的路径改动,其他的也会跟着改动。
这样的例子很多,我想用小时候玩的老鹰捉小鸡游戏来简单的描绘观察者模式。
老鹰会变成观察者,母鸡和小鸡是
- TFS RESTful API 模拟上传测试
ronin47
TFS RESTful API 模拟上传测试。
细节参看这里:https://github.com/alibaba/nginx-tfs/blob/master/TFS_RESTful_API.markdown
模拟POST上传一个图片:
curl --data-binary @/opt/tfs.png http
- PHP常用设计模式单例, 工厂, 观察者, 责任链, 装饰, 策略,适配,桥接模式
dcj3sjt126com
设计模式PHP
// 多态, 在JAVA中是这样用的, 其实在PHP当中可以自然消除, 因为参数是动态的, 你传什么过来都可以, 不限制类型, 直接调用类的方法
abstract class Tiger {
public abstract function climb();
}
class XTiger extends Tiger {
public function climb()
- hibernate
171815164
Hibernate
main,save
Configuration conf =new Configuration().configure();
SessionFactory sf=conf.buildSessionFactory();
Session sess=sf.openSession();
Transaction tx=sess.beginTransaction();
News a=new
- Ant实例分析
g21121
ant
下面是一个Ant构建文件的实例,通过这个实例我们可以很清楚的理顺构建一个项目的顺序及依赖关系,从而编写出更加合理的构建文件。
下面是build.xml的代码:
<?xml version="1
- [简单]工作记录_接口返回405原因
53873039oycg
工作
最近调接口时候一直报错,错误信息是:
responseCode:405
responseMsg:Method Not Allowed
接口请求方式Post.
- 关于java.lang.ClassNotFoundException 和 java.lang.NoClassDefFoundError 的区别
程序员是怎么炼成的
真正完成类的加载工作是通过调用 defineClass来实现的;
而启动类的加载过程是通过调用 loadClass来实现的;
就是类加载器分为加载和定义
protected Class<?> findClass(String name) throws ClassNotFoundExcept
- JDBC学习笔记-JDBC详细的操作流程
aijuans
jdbc
所有的JDBC应用程序都具有下面的基本流程: 1、加载数据库驱动并建立到数据库的连接。 2、执行SQL语句。 3、处理结果。 4、从数据库断开连接释放资源。
下面我们就来仔细看一看每一个步骤:
其实按照上面所说每个阶段都可得单独拿出来写成一个独立的类方法文件。共别的应用来调用。
1、加载数据库驱动并建立到数据库的连接:
Html代码
St
- rome创建rss
antonyup_2006
tomcatcmsxmlstrutsOpera
引用
1.RSS标准
RSS标准比较混乱,主要有以下3个系列
RSS 0.9x / 2.0 : RSS技术诞生于1999年的网景公司(Netscape),其发布了一个0.9版本的规范。2001年,RSS技术标准的发展工作被Userland Software公司的戴夫 温那(Dave Winer)所接手。陆续发布了0.9x的系列版本。当W3C小组发布RSS 1.0后,Dave W
- html表格和表单基础
百合不是茶
html表格表单meta锚点
第一次用html来写东西,感觉压力山大,每次看见别人发的都是比较牛逼的 再看看自己什么都还不会,
html是一种标记语言,其实很简单都是固定的格式
_----------------------------------------表格和表单
表格是html的重要组成部分,表格用在body里面的
主要用法如下;
<table>
&
- ibatis如何传入完整的sql语句
bijian1013
javasqlibatis
ibatis如何传入完整的sql语句?进一步说,String str ="select * from test_table",我想把str传入ibatis中执行,是传递整条sql语句。
解决办法:
<
- 精通Oracle10编程SQL(14)开发动态SQL
bijian1013
oracle数据库plsql
/*
*开发动态SQL
*/
--使用EXECUTE IMMEDIATE处理DDL操作
CREATE OR REPLACE PROCEDURE drop_table(table_name varchar2)
is
sql_statement varchar2(100);
begin
sql_statement:='DROP TABLE '||table_name;
- 【Linux命令】Linux工作中常用命令
bit1129
linux命令
不断的总结工作中常用的Linux命令
1.查看端口被哪个进程占用
通过这个命令可以得到占用8085端口的进程号,然后通过ps -ef|grep 进程号得到进程的详细信息
netstat -anp | grep 8085
察看进程ID对应的进程占用的端口号
netstat -anp | grep 进程ID
&
- 优秀网站和文档收集
白糖_
网站
集成 Flex, Spring, Hibernate 构建应用程序
性能测试工具-JMeter
Hmtl5-IOCN网站
Oracle精简版教程网站
鸟哥的linux私房菜
Jetty中文文档
50个jquery必备代码片段
swfobject.js检测flash版本号工具
- angular.extend
boyitech
AngularJSangular.extendAngularJS API
angular.extend 复制src对象中的属性去dst对象中. 支持多个src对象. 如果你不想改变一个对象,你可以把dst设为空对象{}: var object = angular.extend({}, object1, object2). 注意: angular.extend不支持递归复制. 使用方法: angular.extend(dst, src); 参数:
- java-谷歌面试题-设计方便提取中数的数据结构
bylijinnan
java
网上找了一下这道题的解答,但都是提供思路,没有提供具体实现。其中使用大小堆这个思路看似简单,但实现起来要考虑很多。
以下分别用排序数组和大小堆来实现。
使用大小堆:
import java.util.Arrays;
public class MedianInHeap {
/**
* 题目:设计方便提取中数的数据结构
* 设计一个数据结构,其中包含两个函数,1.插
- ajaxFileUpload 针对 ie jquery 1.7+不能使用问题修复版本
Chen.H
ajaxFileUploadie6ie7ie8ie9
jQuery.extend({
handleError: function( s, xhr, status, e ) {
// If a local callback was specified, fire it
if ( s.error ) {
s.error.call( s.context || s, xhr, status, e );
}
- [机器人制造原则]机器人的电池和存储器必须可以替换
comsci
制造
机器人的身体随时随地可能被外来力量所破坏,但是如果机器人的存储器和电池可以更换,那么这个机器人的思维和记忆力就可以保存下来,即使身体受到伤害,在把存储器取下来安装到一个新的身体上之后,原有的性格和能力都可以继续维持.....
另外,如果一
- Oracle Multitable INSERT 的用法
daizj
oracle
转载Oracle笔记-Multitable INSERT 的用法
http://blog.chinaunix.net/uid-8504518-id-3310531.html
一、Insert基础用法
语法:
Insert Into 表名 (字段1,字段2,字段3...)
Values (值1,
- 专访黑客历史学家George Dyson
datamachine
on
20世纪最具威力的两项发明——核弹和计算机出自同一时代、同一群年青人。可是,与大名鼎鼎的曼哈顿计划(第二次世界大战中美国原子弹研究计划)相 比,计算机的起源显得默默无闻。出身计算机世家的历史学家George Dyson在其新书《图灵大教堂》(Turing’s Cathedral)中讲述了阿兰·图灵、约翰·冯·诺依曼等一帮子天才小子创造计算机及预见计算机未来
- 小学6年级英语单词背诵第一课
dcj3sjt126com
englishword
always 总是
rice 水稻,米饭
before 在...之前
live 生活,居住
usual 通常的
early 早的
begin 开始
month 月份
year 年
last 最后的
east 东方的
high 高的
far 远的
window 窗户
world 世界
than 比...更
- 在线IT教育和在线IT高端教育
dcj3sjt126com
教育
codecademy
http://www.codecademy.com codeschool
https://www.codeschool.com teamtreehouse
http://teamtreehouse.com lynda
http://www.lynda.com/ Coursera
https://www.coursera.
- Struts2 xml校验框架所定义的校验文件
蕃薯耀
Struts2 xml校验Struts2 xml校验框架Struts2校验
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月11日 15:54:59 星期六
http://fa
- mac下安装rar和unrar命令
hanqunfeng
mac
1.下载:http://www.rarlab.com/download.htm 选择
RAR 5.21 for Mac OS X 2.解压下载后的文件 tar -zxvf rarosx-5.2.1.tar 3.cd rar sudo install -c -o $USER unrar /bin #输入当前用户登录密码 sudo install -c -o $USER rar
- 三种将list转换为map的方法
jackyrong
list
在本文中,介绍三种将list转换为map的方法:
1) 传统方法
假设有某个类如下
class Movie {
private Integer rank;
private String description;
public Movie(Integer rank, String des
- 年轻程序员需要学习的5大经验
lampcy
工作PHP程序员
在过去的7年半时间里,我带过的软件实习生超过一打,也看到过数以百计的学生和毕业生的档案。我发现很多事情他们都需要学习。或许你会说,我说的不就是某种特定的技术、算法、数学,或者其他特定形式的知识吗?没错,这的确是需要学习的,但却并不是最重要的事情。他们需要学习的最重要的东西是“自我规范”。这些规范就是:尽可能地写出最简洁的代码;如果代码后期会因为改动而变得凌乱不堪就得重构;尽量删除没用的代码,并添加
- 评“女孩遭野蛮引产致终身不育 60万赔偿款1分未得”医腐深入骨髓
nannan408
先来看南方网的一则报道:
再正常不过的结婚、生子,对于29岁的郑畅来说,却是一个永远也无法实现的梦想。从2010年到2015年,从24岁到29岁,一张张新旧不一的诊断书记录了她病情的同时,也清晰地记下了她人生的悲哀。
粗暴手术让人发寒
2010年7月,在酒店做服务员的郑畅发现自己怀孕了,可男朋友却联系不上。在没有和家人商量的情况下,她决定堕胎。
12月5日,
- 使用jQuery为input输入框绑定回车键事件 VS 为a标签绑定click事件
Everyday都不同
jspinput回车键绑定clickenter
假设如题所示的事件为同一个,必须先把该js函数抽离出来,该函数定义了监听的处理:
function search() {
//监听函数略......
}
为input框绑定回车事件,当用户在文本框中输入搜索关键字时,按回车键,即可触发search():
//回车绑定
$(".search").keydown(fun
- EXT学习记录
tntxia
ext
1. 准备
(1) 官网:http://www.sencha.com/
里面有源代码和API文档下载。
EXT的域名已经从www.extjs.com改成了www.sencha.com ,但extjs这个域名会自动转到sencha上。
(2)帮助文档:
想要查看EXT的官方文档的话,可以去这里h
- mybatis3的mapper文件报Referenced file contains errors
xingguangsixian
mybatis
最近使用mybatis.3.1.0时无意中碰到一个问题:
The errors below were detected when validating the file "mybatis-3-mapper.dtd" via the file "account-mapper.xml". In most cases these errors can be d