前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python入门教程(一)

python入门教程(一)

作者头像
py3study
发布2020-01-14 14:24:01
6680
发布2020-01-14 14:24:01
举报
文章被收录于专栏:python3python3python3

  我们依然不讲代码,而是先说命令行。

  为什么命令行如此重要?之前说到,命令行是你和电脑对话的地方。你可以用句子的方式把信息发给电脑,电脑再以句子的方式给你回应。在编程领域,有些消息只能用命令行告诉电脑——或许是编程人员早就习惯了,或许打字更有效——毕竟你和闭着眼睛的人交流,肯定比捂着耳朵的人交流方便(你不能用鼠标写字!)。在编程中,大部分消息都是靠说,而不是靠比划(画图就是比划的例子)。呃……总之你得懂命令行。

  在Windows里有命令行,Linux也有,但是大同小异。要弄懂命令行怎么干活,只要想象电脑没有屏幕,但是会说话。比如——

——“桌面上有什么?” ——“有3个文件夹:回收站,资料,工具;5个文件:便签.txt,语言哲学.pdf,截图.png,antistops.py,安装程序.exe” ——“E盘里有什么?” ——“有1个文件夹:work” ——“work文件夹里有什么?” ——“您的电脑里有不止一个名为work的文件夹。”

  顿时尴尬,毕竟眼前就有个work文件夹,却进不去。所以设计命令行的人想出了“当前位置”这个概念。我们知道文件夹的组织可以看成“树”——(其实#不能用于文件名,我用的cs而不是c#)

python入门教程(一)
python入门教程(一)

  实际肯定比这复杂。当前位置的意思就是,你只能站在这棵树的一个文件夹节点上,即你不能同时位于多个文件夹。你只能看到周围的点。以上图为例,你想让电脑运行hello.exe,图上却有两个hello.exe。加上“当前位置”这个概念后,你只能打开当前文件夹中的文件。而同一个文件夹中,文件名不能重复,就保证了你能唯一地指定一个文件。想运行文件夹(很多人管文件夹叫目录,因为不拗口)C下的hello.exe,就要走到目录C 。

  但是人是会走丢的。设计者是这么处理的:

1.x盘是固定的,不必多说。 2.E盘下的目录C记作“E:\C”,再下层的hello.c记作E:\C\hello.c

  层层嵌套。所以如果你在运行栏(或者点开始菜单里的“运行”)输入cmd回车,我猜你明白C:\Users\Administrator>是什么意思了,表示你处在一个名叫Administrator的文件夹里。

python入门教程(一)
python入门教程(一)
python入门教程(一)
python入门教程(一)

  其实,没有“当前位置”,也是可以定位每一个文件的。上例中,不管你在哪里,输入E:\C\hello.exe,电脑都知道你要找的不是E:\C#\hello.exe 。但是每次树一长串,谁愿意呢?另外,命令行里显示的那个目录叫“当前工作目录”,简称工作目录,我相信你几次用命令行运行python就会明白为什么叫“工作”了。

  所以你可以对命令行说这些东西:

  1. 进入某个子目录(即当前文件夹中的文件夹)—— cd xxx
  2. 进入上一层目录(可以称为父目录) —— cd .. (就是两个点)
  3. 进入E:\C —— cd E:\C
  4. 进入自身(“并非毫无用处”) —— cd . (一个点)

  cd 是change directory 的首字母

  (你可能发现某些命令并不起作用,因为上图的home是假的。上面的命令只有当在同一个盘中才有用,不能用cd 换盘。想切换盘符,直接输入“盘符名:”回车,比如e: 回车 )

  上一篇文章还说到,“python xxx.py”是一条命令。其实命令分为两部分,第一个词是一部分,剩下的是第二部分。python是python.exe,在命令行.exe可省略(不省也可以用,但习惯上省略)。python xxx.py就是启动python.exe,并且告诉程序一个额外信息: xxx.py。这可能令人困惑,运行程序是允许加点别的东西的(加一个算少的了)。cd xxxxx,就是运行cd.exe 附加【参数】xxxxx——虽然未必有cd.exe,但完全可以当做有。所有的命令,几乎都只有第一个词真的做了事。(exe文件也是文件)

  最后还要说绝对路径和相对路径,用处在于,你如何称呼一个可能重名的文件?仍然用刚才的例子,你位于目录C,想运行隔壁目录C#的hello.exe 。目前有三种办法:

1.  cd .. 再 cd C# 再 hello (.exe可以省略)
2.  E:\C#\hello
3.  ..\C#\hello.exe

  2和3都做到了不切换工作目录而处理了别的目录的exe文件。2叫做绝对定位,因为从盘开始;3叫相对定位,因为从自身开始。电脑只认盘符,要是没有,就假设是从工作目录开始。虽然这样看,好像上层目录被当成名为..的子文件夹了,但是无妨——这其实挺奇妙。(你仔细看看树图,会发现节点都可以看成根节点,有点参考系的味道)

  两种定位都是可以的。其实还有一种定位——你有没有想过,python.exe在哪?!还记得安装第一步点的PATH么,名为“环境变量”之物,环境变量里写着的若干目录可以无条件引用(当前目录也是无条件引用的)。电脑收到你的命令python,首先在工作目录里找python.exe,找不到就到环境变量里的目录里找,再找不到就报错。

  然后你就能读懂这些了:(除了.和..用法特别,还有\ 表示当前盘起始,可以用cd \ 、cd \C 等等 )

* cd xxx (两种定位皆可)
* cd \ ——回到本盘起始位置
* dir —— 查看当前目录信息(directory 缩写)
* dir xxx —— 查看xxx目录(两种定位皆可)
* md xxx —— 建立新文件夹(两种定位皆可) (make dir缩写)
* rd xxx ——删除【空】文件夹(两种定位皆可)(remove dir 缩写)【请注意!命令行删除不进回收站,是永久删除!】
* cls ——清屏(clean screen 缩写)
* copy xxx xxx —— 复制文件内容(不包括名称),后面的名字为新的名字(当然,两种定位皆可)
* del xxx —— 删除文件,不包括文件夹(可用 del * 删除所有文件,del * .txt 删除所有.txt文件,等等)(delete缩写)
* deltree xxx —— <危险操作>删除文件夹以及一切内容
* ren xxx xxx —— 重命名(rename 缩写)

  命令可以有参数,即在输完上述命令后,还可以后跟一些东西。之前说到python.exe 可以后跟文件名,但参数只是字符串,不一定是文件名。你输入的命令如果有多个词,那么所有的词都会告诉第一个词,因为那是唯一被运行的东西,他会收到所有参数。比如dir命令可以有超过2个参数(除了本身dir 和常规的xxx),比如后跟\a或\s等等,请自行百度“dos命令”

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档