[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就自动运行
                                                                                                                                                                                  • 这可能么?🤪
                                                                                                                                                                                    相关文章
                                                                                                                                                                                    |
                                                                                                                                                                                    9月前
                                                                                                                                                                                    |
                                                                                                                                                                                    数据可视化 Linux iOS开发
                                                                                                                                                                                    Python脚本转EXE文件实战指南:从原理到操作全解析
                                                                                                                                                                                    本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
                                                                                                                                                                                    2050 2
                                                                                                                                                                                    |
                                                                                                                                                                                    8月前
                                                                                                                                                                                    |
                                                                                                                                                                                    监控 机器人 编译器
                                                                                                                                                                                    如何将python代码打包成exe文件---PyInstaller打包之神
                                                                                                                                                                                    PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
                                                                                                                                                                                    1417 68
                                                                                                                                                                                    |
                                                                                                                                                                                    10月前
                                                                                                                                                                                    |
                                                                                                                                                                                    缓存 数据可视化 Linux
                                                                                                                                                                                    Python文件/目录比较实战:排除特定类型的实用技巧
                                                                                                                                                                                    本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
                                                                                                                                                                                    317 0
                                                                                                                                                                                    |
                                                                                                                                                                                    11月前
                                                                                                                                                                                    |
                                                                                                                                                                                    安全 Linux 网络安全
                                                                                                                                                                                    Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
                                                                                                                                                                                    本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
                                                                                                                                                                                    2798 0
                                                                                                                                                                                    |
                                                                                                                                                                                    9月前
                                                                                                                                                                                    |
                                                                                                                                                                                    数据采集 机器学习/深度学习 人工智能
                                                                                                                                                                                    Python:现代编程的首选语言
                                                                                                                                                                                    Python:现代编程的首选语言
                                                                                                                                                                                    1477 102
                                                                                                                                                                                    |
                                                                                                                                                                                    9月前
                                                                                                                                                                                    |
                                                                                                                                                                                    数据采集 机器学习/深度学习 算法框架/工具
                                                                                                                                                                                    Python:现代编程的瑞士军刀
                                                                                                                                                                                    Python:现代编程的瑞士军刀
                                                                                                                                                                                    485 104
                                                                                                                                                                                    |
                                                                                                                                                                                    9月前
                                                                                                                                                                                    |
                                                                                                                                                                                    人工智能 自然语言处理 算法框架/工具
                                                                                                                                                                                    Python:现代编程的首选语言
                                                                                                                                                                                    Python:现代编程的首选语言
                                                                                                                                                                                    373 103
                                                                                                                                                                                    |
                                                                                                                                                                                    9月前
                                                                                                                                                                                    |
                                                                                                                                                                                    机器学习/深度学习 人工智能 数据挖掘
                                                                                                                                                                                    Python:现代编程的首选语言
                                                                                                                                                                                    Python:现代编程的首选语言
                                                                                                                                                                                    400 82

                                                                                                                                                                                    推荐镜像

                                                                                                                                                                                    更多