如何学python 第十五课 脚本结构与linux下的编辑与执行

第十五课 脚本结构与linux下的编辑与执行

今天我们不讲具体的python技巧。今天讲讲在linux下,从脚本创建到执行的过程。如果需要看win下的,可以留言,我会再做一篇。

创建文件

当我们用python或者其他脚本语言编程的时候,不需要什么花哨的方式来写脚本。脚本会被存储为常规的文本文件,然后被解释器解释执行。

这意味着我们只需要一个文本编辑器就可以了。你可以用任何你喜欢的编辑器,但是我一般用gedit,因为gedit支持语法高亮。。

首先我们要做的是创建一个文本文件并给它取个名字。我们可以通过以下的命令做到这点:

你可以发现我们为新创建的文件留了.py的后缀名。这并不是必要的,我们稍后会讨论这点。

执行以上命令后,gedit会创建并打开script.py,看起来是这样的:

从以下位置设置针对python的语法高亮:

View -> Highlight Mode -> Scripts -> Python

脚本编写

下面写一个简单的脚本。这个脚本会获取用户的输入,然后向他们打个招呼。因为本篇的宗旨不在于具体的python知识,所以我们对代码不多说:

也许你注意到了输入与输出之间的那行空白。适当的空白可以让代码看起来更加的整齐规范。另外,要谨慎使用空格,因为python对空格很敏感(代码的结构就是通过空格的缩进来实现的)。一般来说敲空格的时候都用tab键,而不是敲四次空格。

代码执行

可以用两种方式执行代码。一种是用python指令,另一种是用shebang。

python指令的话,直接调用python这个命令,在后面跟上脚本名就可以了。这是最简单的方式,却不是最方便用户使用的方式。

shebang符号就是上面的那个,一个#,一个感叹号。用这个标记可以在脚本内部标记处它如何被执行。当我们用这个方式的时候,用户就不用纠结具体是用什么解释器了;因为shebang符号可以在脚本内部指定解释器路径。

注意,如果我们用shebang符号,那么它必须被写在脚本的第一行。

好了,标记之后,我们就可以把这个写好的脚本直接当成程序运行了。还需要一步,就是赋予这个脚本文件执行权限。为了做到这点,我们可以用chmod命令。更多的chmod详情看这里:http://blog.chinaunix.net/uid-23337335-id-2431122.html

现在可以看到,脚本文件变成了绿色,这也就意味着它现在是可执行的了。只需要./ 就可以执行:

总结

我们介绍了一些非常基础(但是极度有用)的知识。把这些和原先学的结合起来练练吧。

原文发布于微信公众号 - 玄魂工作室(xuanhun521)

原文发表时间:2016-08-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xx_Cc的学习总结专栏

iOS-网络编程(一)HTTP协议

3209
来自专栏散尽浮华

Centos7下ELK+Redis日志分析平台的集群环境部署记录

之前的文档介绍了ELK架构的基础知识(推荐参考下http://blog.oldboyedu.com/elk/),日志集中分析系统的实施方案: - ELK+Red...

3074
来自专栏Huramkin的归档库

ps命令常见用法

Linux中的ps命令用来列出系统中当前运行的那些进程,查看它们的运行状态,占用的资源

1761
来自专栏玄魂工作室

Hacker基础之Linux篇:基础Linux命令五

1. vi vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。 Linux中一般默认安装的的编辑器叫vi,而vim是vi的增强版(vi...

2856
来自专栏张戈的专栏

启用WP Super Cache纯代码版本之后的一些优化措施

张戈博客在上个月 28 号启用了 WP Super Cache 代码版,几天下来,虽然小问题不断,但是总体感觉非常不错!不管是前台还是后台,速度都有质的提升,着...

3707
来自专栏王二麻子IT技术交流园地

二、VueJs 填坑日记之基础项目构建

在上一篇文章中,大致介绍了一下本系列博文以及学习vuejs我们需要了解的一些概念,希望大家认真阅读,所谓知己知彼,百战百胜,学习也一样,工欲善其事,必先利其器,...

2157
来自专栏北京马哥教育

运维人必收藏的最全Linux服务器程序规范

除了网络通信外,服务器程序还必须考虑许多其他细节问题,零碎,但基本上都是模板式的。

1870
来自专栏Alice

iOS开发多线程在实际项目中的运用

        同一时间,CPU只能处理一条线程,也就是只有一条线程在工作。所谓多线程并发(同时)执行,

902
来自专栏木头编程 - moTzxx

CentOS7 ab压力测试安装与解释

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

2832
来自专栏跟着阿笨一起玩NET

asp.net中使用swfupload上传大文件

转载:http://www.cnblogs.com/niunan/archive/2012/01/12/2320705.html

1184

扫码关注云+社区

领取腾讯云代金券