[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就自动运行
                                                                                                                                                                                  • 这可能么?🤪
                                                                                                                                                                                    相关文章
                                                                                                                                                                                    |
                                                                                                                                                                                    5天前
                                                                                                                                                                                    |
                                                                                                                                                                                    存储 数据库连接 API
                                                                                                                                                                                    Python环境变量在开发和运行Python应用程序时起着重要的作用
                                                                                                                                                                                    Python环境变量在开发和运行Python应用程序时起着重要的作用
                                                                                                                                                                                    40 15
                                                                                                                                                                                    |
                                                                                                                                                                                    8天前
                                                                                                                                                                                    |
                                                                                                                                                                                    人工智能 Shell 开发工具
                                                                                                                                                                                    [oeasy]python0041_输出ASCII码表_英文字符编码_键盘字符_ISO_646
                                                                                                                                                                                    本文介绍了ASCII码表的生成与使用,包括英文字符、数字和符号的编码。通过Python代码遍历0到127的ASCII值,解决了找不到竖线符号的问题,并解释了ASCII码的固定映射关系及其重要性。文章还介绍了ASCII码的历史背景,以及它如何成为国际标准ISO 646。最后,通过安装`ascii`程序展示了完整的ASCII码表。
                                                                                                                                                                                    9 1
                                                                                                                                                                                    |
                                                                                                                                                                                    13天前
                                                                                                                                                                                    |
                                                                                                                                                                                    开发者 Python
                                                                                                                                                                                    Python中__init__.py文件的作用
                                                                                                                                                                                    `__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
                                                                                                                                                                                    15 2
                                                                                                                                                                                    |
                                                                                                                                                                                    19天前
                                                                                                                                                                                    |
                                                                                                                                                                                    人工智能 Python
                                                                                                                                                                                    [oeasy]python039_for循环_循环遍历_循环变量
                                                                                                                                                                                    本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
                                                                                                                                                                                    29 4
                                                                                                                                                                                    |
                                                                                                                                                                                    19天前
                                                                                                                                                                                    |
                                                                                                                                                                                    算法 测试技术 开发者
                                                                                                                                                                                    在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
                                                                                                                                                                                    在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
                                                                                                                                                                                    19 3
                                                                                                                                                                                    |
                                                                                                                                                                                    26天前
                                                                                                                                                                                    |
                                                                                                                                                                                    存储 Python
                                                                                                                                                                                    [oeasy]python038_ range函数_大小写字母的起止范围_start_stop
                                                                                                                                                                                    本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
                                                                                                                                                                                    19 1
                                                                                                                                                                                    |
                                                                                                                                                                                    29天前
                                                                                                                                                                                    |
                                                                                                                                                                                    Java Python
                                                                                                                                                                                    > python知识点100篇系列(19)-使用python下载文件的几种方式
                                                                                                                                                                                    【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
                                                                                                                                                                                    |
                                                                                                                                                                                    29天前
                                                                                                                                                                                    |
                                                                                                                                                                                    数据安全/隐私保护 流计算 开发者
                                                                                                                                                                                    python知识点100篇系列(18)-解析m3u8文件的下载视频
                                                                                                                                                                                    【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
                                                                                                                                                                                    |
                                                                                                                                                                                    12天前
                                                                                                                                                                                    |
                                                                                                                                                                                    人工智能 开发工具 Python
                                                                                                                                                                                    [oeasy]python040_缩进几个字符好_输出所有键盘字符_循环遍历_indent
                                                                                                                                                                                    本文探讨了Python代码中的缩进问题。通过研究`range`函数和`for`循环,发现缩进对于代码块的执行至关重要。如果缩进不正确,程序会抛出`IndentationError`。文章还介绍了Python的PEP8规范,推荐使用4个空格进行缩进,并通过示例展示了如何使用Tab键实现标准缩进。最后,通过修改代码,输出了从0到122的字符及其对应的ASCII码值,但未能找到竖线符号(`|`)。文章在总结中提到,下次将继续探讨竖线符号的位置。
                                                                                                                                                                                    11 0
                                                                                                                                                                                    |
                                                                                                                                                                                    3月前
                                                                                                                                                                                    |
                                                                                                                                                                                    SQL JSON 关系型数据库
                                                                                                                                                                                    n种方式教你用python读写excel等数据文件
                                                                                                                                                                                    n种方式教你用python读写excel等数据文件