【软件开发基础】如果基本的背景知识和概念不清楚,去写代码即使出错了,也不知道原因和解决办法是啥

【问题】

以该人:

写得python备份脚本总报错  那位高手给看一下

的问题为例,来解释:

如果缺乏背景知识和基本概念,单独会写某种语言的代码,是没用的,肯定会遇到问题,而且是不知道如何解决的。

 

【问题解答】Python中通过os.system调用zip命令结果出错:’zip’ 不是内部或外部命令,也不是可执行程序

去Python代码中调用cmd去执行命令:

zip -qr xxx

但是结果显示出错:

‘zip’ 不是内部或外部命令,也不是可执行程序

很明显:

其所在的(windows系统)中(的cmd命令行下)本书运行上述的命令,就是不支持的,

就是找不到zip命令的

原因很明显:

要么是没有安装zip

要么是即使安装了zip,但是zip的可执行程序(zip.exe)没有加上环境变量path中。

而导致找不到zip,导致报错

解决办法是:

去(windows中的cmd中)去确认,是何种原因而找不到zip

如果是没有安装zip软件本身:则去安装zip

如果是已经安装了zip,但是没有把zip(的bin路径,其中包含了zip.exe)加到path路径:那就去把zip的bin路径加到path中

即可。

提示:

1.关于windows的cmd,不了解的可参考:

Windows的命令行工具: cmd

2.关于给windows添加环境变量,不了解的可参考:

编辑/添加/修改windows中的环境变量

3.关于“xxx 不是内部或外部命令,也不是可执行程序”的一个类似的问题的解决过程,可参考:

【已解决】Python中,运行pip install Django出错:’pip’ 不是内部或外部命令,也不是可运行的程序或批处理文件。

 

问题总结

总之,如果你缺乏相关的背景知识

即使会写某种语言的代码,也是没用的

因为各种语言的运行,都是和各种各样的环境(有的甚至是裸程序,无操作系统的环境下)

有关系的,此时你需要:

对于程序代码(可能涉及的)相关的背景知识

有所了解

然后才能去写程序的,才能写出,可以正确运行的程序的

 

到底是需要先学习哪些背景知识?

那肯定会有人问:

到底是需要先学习哪些背景知识?

答:

以情况而定

详解:

取决于:

你用了什么语言

写了什么代码

涉及到了哪些背景环境相关内容

在什么环境中运行

以此处问题为例:

你写的是Python语言

写的代码中,用到了os.system,

其会涉及到用当前操作系统的环境,且要调用的命令中涉及到了zip命令

在当前的(很明显是Windows操作系统)windows系统中运行

注:

1. XXX 不是内部或外部命令,也不是可执行程序

这个是个经典的,很常见的,Windows平台下的错误

此时,你需要了解的背景知识是:

1.python中,os.system,是如何和当前操作系统交互的

此处,你所传递的:

zip -qr xxx

这个要执行的命令,是如何传递给当前操作系统的

背后逻辑,如果不了解,需要去学习Python的os.system的用法和逻辑

2.传递给当前Windows操作系统的要运行的命令

本身该命令,在Windows中,正常情况是如何运行的

此处,就是:

正常情况下,在Windows运行你这个命令:

zip -qr xxx

的话,可以是:

打开windows的cmd,然后输入上述命令,然后回车

正常的话,即可正常运行

而如果你本身zip命令在cmd下无法运行,则本身必然就会出现:

‘zip’ 不是内部或外部命令,也不是可执行程序

之类的错误。

解决办法前面已解释,不再赘述。

做软件开发,用某种语言去写代码的话,到底要掌握哪些背景知识?

还有人会继续问:

那么,作为软件开发,用某种语言去写代码的话,到底要掌握哪些背景知识?

答:

很多很多。

而且即使分门别类后,单独分类就很多。

每个分类下面的相关知识,更多。

我之前已写了部分的内容:

软件开发方面,需要了解的背景知识:

软件开发基础知识

其中涉及到用计算机语言写代码,需要了解的背景知识:

计算机编程语言基础知识

以后会继续完善和更新。

至于暂时没来得及总结的很多知识,只能靠你自己一点点学习和积累了。

 

另外,关于如何一点点的,有条理的去学习相关领域的背景知识的话,

等抽空再去整理出详细的教程,以便说明比较合适的学习路线和学习方法。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量