[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就自动运行
                                                                                                                                                                                  • 这可能么?🤪
                                                                                                                                                                                    目录
                                                                                                                                                                                    打赏
                                                                                                                                                                                    0
                                                                                                                                                                                    0
                                                                                                                                                                                    0
                                                                                                                                                                                    0
                                                                                                                                                                                    161
                                                                                                                                                                                    分享
                                                                                                                                                                                    相关文章
                                                                                                                                                                                    解锁文件共享软件背后基于 Python 的二叉搜索树算法密码
                                                                                                                                                                                    文件共享软件在数字化时代扮演着连接全球用户、促进知识与数据交流的重要角色。二叉搜索树作为一种高效的数据结构,通过有序存储和快速检索文件,极大提升了文件共享平台的性能。它依据文件名或时间戳等关键属性排序,支持高效插入、删除和查找操作,显著优化用户体验。本文还展示了用Python实现的简单二叉搜索树代码,帮助理解其工作原理,并展望了该算法在分布式计算和机器学习领域的未来应用前景。
                                                                                                                                                                                    [oeasy]python075_什么是_动态类型_静态类型_强类型_弱类型_编译_运行
                                                                                                                                                                                    本文探讨了编程语言中的动态类型与静态类型、强类型与弱类型的概念。通过实例分析,如Python允许变量类型动态变化(如`age`从整型变为字符串),而C语言一旦声明变量类型则不可更改,体现了动态与静态类型的差异。此外,文章还对比了强类型(如Python,不允许隐式类型转换)和弱类型(如JavaScript,支持自动类型转换)的特点。最后总结指出,Python属于动态类型、强类型语言,对初学者友好但需注意类型混淆,并预告下期内容及提供学习资源链接。
                                                                                                                                                                                    47 21
                                                                                                                                                                                    [oeasy]python076_int这个词怎么来的_[词根溯源]整数类型_int_integer_touch
                                                                                                                                                                                    本文探讨了“int”一词的起源及其与整数类型的关联。通过词根溯源,揭示“int”来源于“integer”,意为“完整的数”,与零碎的分数相对。同时分析了相关词汇如“tact”(接触)、“touch”(触摸)及衍生词,如“tangential”(切线的)、“intagible”(无形的)和“integral”(完整的、不可或缺的)。文章还结合编程语言特性,解释了Python作为动态类型、强类型语言的特点,并总结了整型变量的概念与意义。最后预告了后续内容,提供了学习资源链接。
                                                                                                                                                                                    37 11
                                                                                                                                                                                    [oeasy]python077_int类型怎么用_整数运算_integer_进制转化_int类
                                                                                                                                                                                    本文主要讲解了Python中`int`类型的应用与特性。首先回顾了`int`词根的溯源,探讨了整型变量的概念及命名规则(如匈牙利命名法)。接着分析了整型变量在内存中的存储位置和地址,并通过`type()`和`id()`函数验证其类型和地址。还介绍了整型变量的运算功能,以及如何通过`int()`函数将字符串转化为整数,支持不同进制间的转换(如二进制转十进制)。此外,文章提及了关键字`del`的使用场景,对比了Python与C语言中`int`的区别,并总结了整型与字符串类型的差异,为后续深入学习奠定基础。
                                                                                                                                                                                    18 1
                                                                                                                                                                                    |
                                                                                                                                                                                    8天前
                                                                                                                                                                                    |
                                                                                                                                                                                    [oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
                                                                                                                                                                                    本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
                                                                                                                                                                                    19 4
                                                                                                                                                                                    |
                                                                                                                                                                                    14天前
                                                                                                                                                                                    |
                                                                                                                                                                                    [oeasy]python072_名字空间是怎么玩的_from_import_as_导入_namespace
                                                                                                                                                                                    本文介绍了Python中名字空间和模块导入的使用方法。主要内容包括: 1. **回忆上次内容**:回顾了之前导入系统模块(如`__hello__`、`time`)和自定义模块(如`my_file`),并介绍了如何导入和使用模块中的变量。 2. **从shell开始**:展示了如何在命令行中编辑和切换文件,以及如何通过`import`语句引入模块。 3. **修改oeasy.py**:演示了如何通过`import my_file`导入模块,并将模块中的`pi`赋值给本地变量`pi`。 4. **locals()函数**:解释了如何使用`locals()`查看当前作用域内的本地变量及其值。
                                                                                                                                                                                    28 8
                                                                                                                                                                                    探秘文件共享服务之哈希表助力 Python 算法实现
                                                                                                                                                                                    在数字化时代,文件共享服务不可或缺。哈希表(散列表)通过键值对存储数据,利用哈希函数将键映射到特定位置,极大提升文件上传、下载和搜索效率。例如,在大型文件共享平台中,文件名等信息作为键,物理地址作为值存入哈希表,用户检索时快速定位文件,减少遍历时间。此外,哈希表还用于文件一致性校验,确保传输文件未被篡改。以Python代码示例展示基于哈希表的文件索引实现,模拟文件共享服务的文件索引构建与检索功能。哈希表及其分布式变体如一致性哈希算法,保障文件均匀分布和负载均衡,持续优化文件共享服务性能。
                                                                                                                                                                                    |
                                                                                                                                                                                    12天前
                                                                                                                                                                                    |
                                                                                                                                                                                    [oeasy]python073_下划线在python里是什么含义_内部变量_私有变量_系统变量
                                                                                                                                                                                    本文回顾了Python中从模块导入变量和函数的方式,重点讨论了避免本地变量名冲突(local name clashes)的方法。通过`from module import variable as alias`可以为导入的变量重命名,防止冲突。根据PEP8规范,建议避免使用`from module import *`,因为它会导入模块中所有非下划线开头的变量,容易引发冲突。下划线在变量命名中有特殊含义:单个前导下划线表示内部变量,后置下划线用于避免与关键字冲突,双下划线前后包围表示系统变量。总结了下划线的不同用法及其作用。下次将继续探讨更实用的编程技巧。
                                                                                                                                                                                    29 3
                                                                                                                                                                                    [oeasy]python065python报错怎么办_try_试着来_except_发现异常
                                                                                                                                                                                    本文介绍了Python中处理异常的基本方法,重点讲解了`try`和`except`的用法。通过一个计算苹果重量的小程序示例,展示了如何捕获用户输入错误并进行处理。主要内容包括: 1. **回顾上次内容**:简要回顾了Shell环境、Python3游乐场和Vim编辑器的使用。 2. **编写程序**:编写了一个简单的程序来计算苹果的总重量,但发现由于输入类型问题导致结果错误。 3. **调试与修正**:通过调试发现输入函数返回的是字符串类型,需要将其转换为整数类型才能正确计算。
                                                                                                                                                                                    60 32
                                                                                                                                                                                    [oeasy]python070_如何导入模块_导入模块的作用_hello_dunder_双下划线
                                                                                                                                                                                    本文介绍了如何在Python中导入模块及其作用,重点讲解了`__hello__`模块的导入与使用。通过`import`命令可以将外部模块引入当前环境,增强代码功能。例如,导入`__hello__`模块后可输出“Hello world!”。此外,还演示了如何使用`help()`和`dir()`函数查询模块信息,并展示了导入多个模块的方法。最后,通过一个实例,介绍了如何利用`jieba`、`WordCloud`和`matplotlib`模块生成词云图。总结来说,模块是封装好的功能部件,能够简化编程任务并提高效率。未来将探讨如何创建自定义模块。
                                                                                                                                                                                    37 8