[oeasy]python0028_直接运行_修改py文件执行权限_设置py文件打开方式

直接运行

回忆上次内容

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

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

  • 但是我想在 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

总结

你可能感兴趣的:(python)