直接运行

回忆上次内容

  • 我们把两个程序整合起来了

    • 可以持续输出当前时间
    • 每秒都更新

编辑

  • 但是我想在 shell 里面

    • 只输入文件名(./sleep.py)并回车
    • 就能不断输出时间
    • 可能吗?
import time
while True:
print(time.asctime())
time.sleep(1)

尝试执行

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

编辑

  • 第 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

      • 被改变的文件名称

编辑

  • 注意下图红圈位置的变化

    • 从 - 到了 x

      • - 就是没有 excute 的权限
      • x 就是有了 excute 的权限
  • 这回能执行了么?

执行

  • 和刚才不一样了

    • 确实能执行了!哈哈!

编辑

  • 不过看起来不是按照python程序来执行的

    • 而是按照执行zsh批处理命令的方式执行的
  • 如何直接运行python程序呢?

    • 先搜索吧

进行搜索

编辑

提示是这样的

编辑

  • 总共分 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

编辑

  • 下面要编辑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)的执行方式

编辑

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

保存并运行

  • 依然使用 ./sleep.py

    • . 指的是当前路径
    • /指的是当前路径下

编辑

  • 执行成功!!!

  • 跳出循环的快捷键仍然是

    • ctrl+c

总结

[oeasy]python0028_直接运行_修改py文件执行权限_设置py文件打开方式的更多相关文章

  1. apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法

    apache环境下禁止某文件夹内运行PHP脚本.禁止访问文件或目录执行权限的设置方法   首先我们来看两段对上传目录设置无权限的列子,配置如下: <Directory "要去掉PHP执 ...

  2. 运行时修改TimerTask的执行周期

    java.util.TimerTask类的执行周期period变量的声明如下: /** * Period in milliseconds for repeating tasks. A positive ...

  3. FTP下文件夹权限的设置755,766,777,644代表什么意思

    一般情况下,为了网站更安全,我们需要给文件或文件夹设置权限,在采用FTP登录的方式下,经常会用到755,766,777,644等设置. 具体这些数字都代表什么意思呢? 这三个数字分别表示:不同用户或用 ...

  4. Linux读写执行权限对目录和文件的影响

    提示:这里的用户指的是普通用户 读写执行权限对root无效 对于目录来说 1)只拥有读权限 可以ls 查看目录内容,不能切换进目录中去 也不能创建目录或文件 [support@node1 opt]$ ...

  5. .jar文件没有Java(TM) Platform SE binary打开方式解决办法

    下面是我个人在打开.jar文件时候的一些小问题: 明明已经配置好了环境变量.jar文件却没有 Java(TM) Platform SE binary 的打开方式, 网上查了资料点明是环境变量的问题,后 ...

  6. UNIX文件的权限之“设置用户ID位”

    用stat函数可以获取一个文件的状态信息,原型是这样的: int stat(const char *path, struct stat *buf); 其中结构体stat的结构: struct stat ...

  7. 39. 在linux下装好Tomcat要给 tomcat/bin/下面所有.sh的文件执行权限

    chmod a+x *.sh(赋予可执行的权限)

  8. 执行py文件需要可执行权限吗?

    案例解析 这个问题描述起来有点违反直觉,要执行一个文件难道不应该需要可执行权限吗?让我们先来看一个例子: # module1.py def test(): print ('hello world!') ...

  9. Linux如何修改文件/文件夹内所有文件的权限

    一.修改文件权限 修改文件权限前,需要了解一下权限中的”rwx”与数字的对应关系,其中r=4,w=2,x=1. 例如:”drwxr-xr-x”,第一个”d”是代表文件夹,这里不用考虑,后面九个字符,每 ...

  10. Codeblocks 等软件 修改源代码后 不能立即执行的解决办法||exe文件删除慢

    不懈地奋斗了两天,终于找到原因了. 记录如下 症状: Codeblocks .Visual Studio 都出现此问题:修改源代码 无法立即执行 ,就是:cannot open output file ...

随机推荐

  1. js毫秒转时分秒

    const formatSeconds = (value) => { if (value === 0 || value < 1000) return '0秒'; var timestamp ...

  2. 【u8】二开生成的专用采购发票结算后显示结算标志但是没有生成结算单的问题

    在表体 purbillvouchs 里有个字段 upsotype 上游单据类型 不能是空,如果是代管生成的发票要填写'vmiused', 如果是普通生成的发票要填写rd,还要写上 入库单号也就是普通挂 ...

  3. .NetCore 3.1 教程之 EFCore连接Mysql DBFirst模式 从数据库生成实体

    一:创建EF的类库,同时将此项目设置为启动项(为Scaffold-DbContext -tables指令使用),同时安装2个包   ①Microsoft.EntityFrameworkCore.Too ...

  4. pidstat 命令查看nginx上下文切换

    pidstat -w -p 711 1 [root@leilei ~]# ps -ef|grep nginx root 13974 1 0 14:23 ? 00:00:00 nginx: master ...

  5. golang import 导入的四种方式

    1 标准导入: import "package_name" 2 导入别名: import ( alias "package_name" ) 3 匿名导入: _ ...

  6. 字符型 ASCLL编码 转义字符

    字符(character) char 2字节   每一个字符的背后.都有一个数字做代表(对照,参照的表) 字符赋值 char cl = 'a';通过''单引号描述为字符赋值 整数赋值 char c2 ...

  7. LeetCode 72. Edit Distance 编辑距离 (C++/Java)

    题目: Given two words word1 and word2, find the minimum number of operations required to convert word1 ...

  8. 使用Git命令从本地上传到码云

    Gitee创建仓库内没有内容 本地: 初始化Git仓库:git init 提交文件到暂存区:git add . //. 表示提交所有文件 提交文件到工作区:git commit -m "此次 ...

  9. 590. N 叉树的后序遍历 | Javascript 递归实现

    题目 题目链接:590. N 叉树的后序遍历 解题思路 递归后续遍历,正常的思路 然后有一个要注意的地方就是如果js定义了全局变量来存储结果,每次调用函数之前一定要记得清空,否则答案会带上之前的结果. ...

  10. java8 lambda Predicate示例

    import java.util.Arrays; import java.util.List; import java.util.function.Predicate; public class Pr ...