直接运行

回忆上次内容

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

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

编辑

  • 但是我想在 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. OpenStack Centos7 T版本搭建

    目录 Centos7搭建OpenStack T版本 --上 1. 环境准备(所有节点操作) 1.1 修改主机名 1.2 关闭selinux 以及防火墙 1.3 修改hosts 1.4 配置时间同步 c ...

  2. 文件系统(五):exFAT 文件系统原理详解

    前言 exFAT是微软2006年推出的一种文件系统,距今已快二十年,相比于FAT16和FAT32,exFAT还是算年轻.exFAT一直是微软的一个专用文件系统,直到2019年微软发布它的规范,目前微软 ...

  3. 分享一个关于Avl树的迭代器算法

    1 研究过程 前段时间在研究avl树的迭代实现,在节点不使用parent指针的情况下,如何使用堆栈来实现双向地迭代.我参考了网络上的大部分迭代器实现,要么是使用了parent指针(就像c++的map容 ...

  4. GeoGebra作圆的切线

    参考文档:<GeoGebra入门教程>唐家军 1. 目的 使用GeoGebra作出过一点的圆的切线. 2. 构造过程 文档种的描述如下: 按照上述构造过程,在输入条形框中依次输入上面的指令 ...

  5. WIN11 删除其它用户/账户

    WIN11 删除其它用户/账户 参考:https://support.microsoft.com/zh-cn/windows/%E5%9C%A8%E7%94%B5%E8%84%91%E4%B8%8A% ...

  6. 一个常见的 JavaScript 解构陷阱

    在日常的 JavaScript 编码中,我们经常使用解构语法来提取对象中的属性.假设我们有一个名为 fetchResult 的对象,代表从接口返回的数据,其中包含一个字段名为 data. const ...

  7. 写的程序总是出 BUG,只好请佛祖前来镇楼啦

    前言 自己之前写着玩的,在这做个备份,感觉不错的取走即可. 南无阿弥陀佛 佛祖镇楼,BUG 消失,永不怠机. ///////////////////////////////////////////// ...

  8. 【干货分享】.NET人脸识别解决方案

    前言 前段时间有同学在DotNetGuide技术社区交流群提问:.NET做人脸识别功能有什么好的解决方案推荐的吗?今天大姚给大家推荐2款.NET开源.免费.跨平台.使用简单的人脸识别库,希望可以帮助到 ...

  9. vue2 实现可拖拽悬浮球

    实现效果 相关代码 点击查看代码 <template> <div class="float-box"> <div class="button ...

  10. Flink状态(二)

    Flink提供了不同的状态存储方式,并说明了状态如何存和存储在哪里. 状态可以被存储在Jvm的堆和堆外.根据状态存储方式的不同,Flink也能代替应用管理状态,意思是Flink能够进行内存管理(有必要 ...