[oeasy]python0028_直接运行_修改py文件执行权限_设置py文件打开方式

简介: [oeasy]python0028_直接运行_修改py文件执行权限_设置py文件打开方式

 

直接运行

回忆上次内容

    • 我们把两个程序整合起来了
      • 可以持续输出当前时间
      • 每秒都更新

        image.gif编辑

          • 但是我想在 shell 里面
            • 只输入文件名(./sleep.py)并回车
            • 就能不断输出时间
            • 可能吗?🤔

              import time

              while True:

                 print(time.asctime())

                 time.sleep(1)

              尝试执行

                • 第 1 句 根本没有找到 sleep.py

                image.gif编辑

                  • 第 2 句 根据相对路径路径./ 找到了 sleep.py
                    • 其中 . 代表的是当前目录
                    • 在/home/shiyanlou/找到sleep.py
                      • 但是没有权限
                      • 要想办法观察到文件的可执行权限

                      观察权限

                        • ls 是 列出(list)当前文件夹下的所有文件
                        • -lh是参数
                          • l(list)
                            • 代表着使用的是一行行列表的方式
                            • 这样可以查出文件详细信息
                              • 大小
                              • 读写权限
                                  • h(uman readable)
                                    • 指的是文件大小使用k、m这种
                                    • 更人类可读(human readable)的方式
                                    • 而不是采用字节的方式

                                        #查询sleep.py

                                        ls -lh sleep.py

                                        #修改权限

                                        chmod u+x sleep.py

                                        #再次查询sleep.py

                                        ls -lh sleep.py

                                          • sleep.py
                                            • 指的是我们就是要查询的文件
                                            • 就是sleep.py
                                              • 查询之后什么结果呢?

                                              ls结果

                                                • chmod u+x sleep.py
                                                  • chmod
                                                    • change 改变
                                                    • mode 状态位 mode bits
                                                      • u+x
                                                        • user 当前用户组
                                                        • +x增加 excute 的权限
                                                          • sleep.py
                                                            • 被改变的文件名称

                                                                image.gif编辑

                                                                  • 注意下图红圈位置的变化
                                                                    • 从 - 到了 x
                                                                      • - 就是没有 excute 的权限
                                                                      • x 就是有了 excute 的权限
                                                                          • 这回能执行了么?

                                                                          执行

                                                                            • 和刚才不一样了
                                                                              • 确实能执行了!哈哈!

                                                                                image.gif编辑

                                                                                  • 不过看起来不是按照python程序来执行的
                                                                                    • 而是按照执行zsh批处理命令的方式执行的
                                                                                      • 如何直接运行python程序呢?
                                                                                        • 先搜索吧

                                                                                          进行搜索

                                                                                          image.gif编辑

                                                                                          提示是这样的

                                                                                          image.gif编辑

                                                                                            • 总共分 3 步:
                                                                                              • 第 1 步 确认python3文件位置
                                                                                                • python3 好像在 /usr/bin/
                                                                                                • python3 就是sleep.py文件正确的打开方式
                                                                                                  • 第 2 步 编辑文件
                                                                                                    • 设置文件自动用/usr/bin/python3打开
                                                                                                      • 第 3 步 运行py文件
                                                                                                        • 我们先确认python3的位置

                                                                                                        python3的位置

                                                                                                          • 如果想要sleep.py能自动执行
                                                                                                            • 必须要明确这个py文件的打开方式
                                                                                                              • python3 来打开执行
                                                                                                                • python3 在哪?
                                                                                                                  • which python3?
                                                                                                                  • 就是 /usr/bin 下的 python3
                                                                                                                  • 注意 usr 不是 user

                                                                                                                      image.gif编辑

                                                                                                                        • 下面要编辑sleep.py
                                                                                                                          • sleep.py 第一行设置
                                                                                                                          • 自动打开方式为/usr/bin/python3

                                                                                                                            添加文件头

                                                                                                                              • 最上面的一句以 # 开头

                                                                                                                              #!/usr/bin/python3

                                                                                                                              import time

                                                                                                                              while True:

                                                                                                                                 print(time.asctime())

                                                                                                                                 time.sleep(1)

                                                                                                                                • # 的意思是 注释
                                                                                                                                  • 这句不用执行
                                                                                                                                  • !/usr/bin/python3
                                                                                                                                    • 这个设置了当前文件(sleep.py)的执行方式

                                                                                                                                        image.gif编辑

                                                                                                                                          • 准备运行
                                                                                                                                          • :wq保存并退出vim

                                                                                                                                          保存并运行

                                                                                                                                            • 依然使用 ./sleep.py
                                                                                                                                              • . 指的是当前路径
                                                                                                                                              • /指的是当前路径下

                                                                                                                                                image.gif编辑

                                                                                                                                                  • 执行成功!!!
                                                                                                                                                    • 🤪
                                                                                                                                                      • 跳出循环的快捷键仍然是
                                                                                                                                                        • ctrl+c

                                                                                                                                                          总结

                                                                                                                                                            • 这次总算可以把 sleep.py 直接执行了
                                                                                                                                                              • sleep.py文件头部要声明好打开方式
                                                                                                                                                                • #!/usr/bin/python3
                                                                                                                                                                • 用的是 python3 解释 sleep.py
                                                                                                                                                                    • 修改 sleep.py 文件 的执行权限
                                                                                                                                                                      • 给当前用户增加 执行execute 权限
                                                                                                                                                                        • chmod u+x sleep.py
                                                                                                                                                                            • 运行./sleep.py成功
                                                                                                                                                                              • 但我不想总带着当前路径./
                                                                                                                                                                                • 我想要直接sleep.py就自动运行
                                                                                                                                                                                  • 这可能么?🤪
                                                                                                                                                                                    相关文章
                                                                                                                                                                                    |
                                                                                                                                                                                    20天前
                                                                                                                                                                                    |
                                                                                                                                                                                    安全 Linux 数据安全/隐私保护
                                                                                                                                                                                    python知识点100篇系列(15)-加密python源代码为pyd文件
                                                                                                                                                                                    【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
                                                                                                                                                                                    python知识点100篇系列(15)-加密python源代码为pyd文件
                                                                                                                                                                                    |
                                                                                                                                                                                    3天前
                                                                                                                                                                                    |
                                                                                                                                                                                    开发者 Python
                                                                                                                                                                                    Python中__init__.py文件的作用
                                                                                                                                                                                    `__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
                                                                                                                                                                                    8 2
                                                                                                                                                                                    |
                                                                                                                                                                                    9天前
                                                                                                                                                                                    |
                                                                                                                                                                                    人工智能 Python
                                                                                                                                                                                    [oeasy]python039_for循环_循环遍历_循环变量
                                                                                                                                                                                    本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
                                                                                                                                                                                    20 4
                                                                                                                                                                                    |
                                                                                                                                                                                    16天前
                                                                                                                                                                                    |
                                                                                                                                                                                    存储 Python
                                                                                                                                                                                    [oeasy]python038_ range函数_大小写字母的起止范围_start_stop
                                                                                                                                                                                    本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
                                                                                                                                                                                    13 1
                                                                                                                                                                                    |
                                                                                                                                                                                    19天前
                                                                                                                                                                                    |
                                                                                                                                                                                    Java Python
                                                                                                                                                                                    > python知识点100篇系列(19)-使用python下载文件的几种方式
                                                                                                                                                                                    【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
                                                                                                                                                                                    |
                                                                                                                                                                                    19天前
                                                                                                                                                                                    |
                                                                                                                                                                                    数据安全/隐私保护 流计算 开发者
                                                                                                                                                                                    python知识点100篇系列(18)-解析m3u8文件的下载视频
                                                                                                                                                                                    【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
                                                                                                                                                                                    |
                                                                                                                                                                                    2天前
                                                                                                                                                                                    |
                                                                                                                                                                                    人工智能 开发工具 Python
                                                                                                                                                                                    [oeasy]python040_缩进几个字符好_输出所有键盘字符_循环遍历_indent
                                                                                                                                                                                    本文探讨了Python代码中的缩进问题。通过研究`range`函数和`for`循环,发现缩进对于代码块的执行至关重要。如果缩进不正确,程序会抛出`IndentationError`。文章还介绍了Python的PEP8规范,推荐使用4个空格进行缩进,并通过示例展示了如何使用Tab键实现标准缩进。最后,通过修改代码,输出了从0到122的字符及其对应的ASCII码值,但未能找到竖线符号(`|`)。文章在总结中提到,下次将继续探讨竖线符号的位置。
                                                                                                                                                                                    6 0
                                                                                                                                                                                    |
                                                                                                                                                                                    9天前
                                                                                                                                                                                    |
                                                                                                                                                                                    设计模式 开发者 Python
                                                                                                                                                                                    Python编程中的设计模式:工厂方法模式###
                                                                                                                                                                                    本文深入浅出地探讨了Python编程中的一种重要设计模式——工厂方法模式。通过具体案例和代码示例,我们将了解工厂方法模式的定义、应用场景、实现步骤以及其优势与潜在缺点。无论你是Python新手还是有经验的开发者,都能从本文中获得关于如何在实际项目中有效应用工厂方法模式的启发。 ###
                                                                                                                                                                                    |
                                                                                                                                                                                    2天前
                                                                                                                                                                                    |
                                                                                                                                                                                    存储 人工智能 数据挖掘
                                                                                                                                                                                    从零起步,揭秘Python编程如何带你从新手村迈向高手殿堂
                                                                                                                                                                                    【10月更文挑战第32天】Python,诞生于1991年的高级编程语言,以其简洁明了的语法成为众多程序员的入门首选。从基础的变量类型、控制流到列表、字典等数据结构,再到函数定义与调用及面向对象编程,Python提供了丰富的功能和强大的库支持,适用于Web开发、数据分析、人工智能等多个领域。学习Python不仅是掌握一门语言,更是加入一个充满活力的技术社区,开启探索未知世界的旅程。
                                                                                                                                                                                    11 5
                                                                                                                                                                                    |
                                                                                                                                                                                    2天前
                                                                                                                                                                                    |
                                                                                                                                                                                    人工智能 数据挖掘 开发者
                                                                                                                                                                                    探索Python编程:从基础到进阶
                                                                                                                                                                                    【10月更文挑战第32天】本文旨在通过浅显易懂的语言,带领读者从零开始学习Python编程。我们将一起探索Python的基础语法,了解如何编写简单的程序,并逐步深入到更复杂的编程概念。文章将通过实际的代码示例,帮助读者加深理解,并在结尾处提供练习题以巩固所学知识。无论你是编程新手还是希望提升编程技能的开发者,这篇文章都将为你的学习之旅提供宝贵的指导和启发。