[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就自动运行
                                                                                                                                                                                  • 这可能么?🤪
                                                                                                                                                                                    相关文章
                                                                                                                                                                                    |
                                                                                                                                                                                    16天前
                                                                                                                                                                                    |
                                                                                                                                                                                    人工智能 Shell 开发工具
                                                                                                                                                                                    [oeasy]python062_在python中完成输入和输出_input_print
                                                                                                                                                                                    本文介绍了在Python中使用`input()`和`print()`函数完成输入和输出操作的基础知识。通过编写简单的程序,如问候用户和统计苹果数量,演示了如何添加提示信息、处理用户输入并输出结果。同时,回顾了上一次课程内容,包括`input`函数的参数和提示词的使用。文中还展示了如何在vim编辑器中编写和运行Python代码,并对vim和shell的基本操作进行了总结。最后提供了相关学习资源链接,方便读者进一步学习。
                                                                                                                                                                                    108 66
                                                                                                                                                                                    |
                                                                                                                                                                                    10天前
                                                                                                                                                                                    |
                                                                                                                                                                                    监控 网络安全 开发者
                                                                                                                                                                                    Python中的Paramiko与FTP文件夹及文件检测技巧
                                                                                                                                                                                    通过使用 Paramiko 和 FTP 库,开发者可以方便地检测远程服务器上的文件和文件夹是否存在。Paramiko 提供了通过 SSH 协议进行远程文件管理的能力,而 `ftplib` 则提供了通过 FTP 协议进行文件传输和管理的功能。通过理解和应用这些工具,您可以更加高效地管理和监控远程服务器上的文件系统。
                                                                                                                                                                                    43 20
                                                                                                                                                                                    |
                                                                                                                                                                                    16天前
                                                                                                                                                                                    |
                                                                                                                                                                                    存储 数据采集 数据处理
                                                                                                                                                                                    如何在Python中高效地读写大型文件?
                                                                                                                                                                                    大家好,我是V哥。上一篇介绍了Python文件读写操作,今天聊聊如何高效处理大型文件。主要方法包括:逐行读取、分块读取、内存映射(mmap)、pandas分块处理CSV、numpy处理二进制文件、itertools迭代处理及linecache逐行读取。这些方法能有效节省内存,提升效率。关注威哥爱编程,学习更多Python技巧。
                                                                                                                                                                                    |
                                                                                                                                                                                    17天前
                                                                                                                                                                                    |
                                                                                                                                                                                    存储 JSON 对象存储
                                                                                                                                                                                    如何使用 Python 进行文件读写操作?
                                                                                                                                                                                    大家好,我是V哥。本文介绍Python中文件读写操作的方法,包括文件读取、写入、追加、二进制模式、JSON、CSV和Pandas模块的使用,以及对象序列化与反序列化。通过这些方法,你可以根据不同的文件类型和需求,灵活选择合适的方式进行操作。希望对正在学习Python的小伙伴们有所帮助。欢迎关注威哥爱编程,全栈路上我们并肩前行。
                                                                                                                                                                                    |
                                                                                                                                                                                    25天前
                                                                                                                                                                                    |
                                                                                                                                                                                    人工智能 Unix Java
                                                                                                                                                                                    [oeasy]python059变量命名有什么规则_惯用法_蛇形命名法_name_convention_snake
                                                                                                                                                                                    本文探讨了Python中变量命名的几种常见方式,包括汉语拼音变量名、蛇形命名法(snake_case)和驼峰命名法(CamelCase)。回顾上次内容,我们主要讨论了使用下划线替代空格以提高代码可读性。实际编程中,当变量名由多个单词组成时,合理的命名惯例变得尤为重要。
                                                                                                                                                                                    60 9
                                                                                                                                                                                    |
                                                                                                                                                                                    30天前
                                                                                                                                                                                    |
                                                                                                                                                                                    C语言 Python
                                                                                                                                                                                    [oeasy]python058_一句话让python崩了
                                                                                                                                                                                    本文介绍了如何通过重新赋值`__builtins__`使Python环境崩溃,并探讨了下划线的来历及其在编程中的作用。文章回顾了上次内容,展示了覆盖内建模块导致系统崩溃的过程,解释了恢复方法,以及PEP 8规范中关于空格使用的建议。最后,文章总结了下划线在变量定义和提高代码可读性方面的重要性,并简述了其从打字机时代到计算机时代的演变。
                                                                                                                                                                                    32 10
                                                                                                                                                                                    |
                                                                                                                                                                                    1月前
                                                                                                                                                                                    |
                                                                                                                                                                                    存储 算法 Serverless
                                                                                                                                                                                    剖析文件共享工具背后的Python哈希表算法奥秘
                                                                                                                                                                                    在数字化时代,文件共享工具不可或缺。哈希表算法通过将文件名或哈希值映射到存储位置,实现快速检索与高效管理。Python中的哈希表可用于创建简易文件索引,支持快速插入和查找文件路径。哈希表不仅提升了文件定位速度,还优化了存储管理和多节点数据一致性,确保文件共享工具高效运行,满足多用户并发需求,推动文件共享领域向更高效、便捷的方向发展。
                                                                                                                                                                                    |
                                                                                                                                                                                    21天前
                                                                                                                                                                                    |
                                                                                                                                                                                    存储 人工智能 Python
                                                                                                                                                                                    [oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
                                                                                                                                                                                    本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
                                                                                                                                                                                    13 0
                                                                                                                                                                                    |
                                                                                                                                                                                    2月前
                                                                                                                                                                                    |
                                                                                                                                                                                    人工智能 数据可视化 数据挖掘
                                                                                                                                                                                    探索Python编程:从基础到高级
                                                                                                                                                                                    在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!