直接运行

回忆上次内容

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

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

编辑

  • 但是我想在 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. RocketMq开启安全认证ACL-解决服务器系统安全漏洞

    1.为什么要开启ACL 通过之前的文章我们已经知道怎么安装RocketMq了.如果你还不会安装RocketMq可以查看我的这篇文章:快速入门一篇搞定RocketMq-实现微服务实战落地 进行软件安装, ...

  2. golang 接口动态派发性能问题

    测试代码 package main type Duck interface { Quack() } type Cat struct { Name string } //go:noinline func ...

  3. go 通过指针修改结构体小写字段的值

    package main import ( "fmt" "unsafe" ) type W struct { b int32 c int64 } func ma ...

  4. 神经网络常见参数解释:epoch、batch、batch size、step、iteration

      本文介绍在机器学习.深度学习的神经网络模型中,epoch.batch.batch size.step与iteration等名词的具体含义.   epoch:表示将训练数据集中的所有样本都过一遍(且 ...

  5. 8.9考试总结(NOIP模拟34)[Merchant·Equation·Rectangle]

    一个人有表里两面,你能看到的,仅仅是其中一面而已. 今日已成往昔,明日即将到来,为此理所当然之事,感到无比痛心. T1 Merchant 解题思路 我和正解也许就是差了一个函数(我格局小了..) nt ...

  6. itest(爱测试) 开源接口测试,敏捷测试管理平台10.1.4发布

    一:itest work 简介 itest work 开源敏捷测试管理,包含极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock,还有压测 ,又有丰富的统计分析,8合1工作站.可按 ...

  7. uniapp 拨打电话功能

    phoneNumber进行动态调用时候一定要添加引号,否则会报错 1 call() { 2 uni.makePhoneCall({ 3 phoneNumber: 'this.leads.tel' // ...

  8. 机器学习策略篇:详解如何改善你的模型的表现(Improving your model performance)

    如何改善模型的表现 学过正交化,如何设立开发集和测试集,用人类水平错误率来估计贝叶斯错误率以及如何估计可避免偏差和方差.现在把它们全部组合起来写成一套指导方针,如何提高学习算法性能的指导方针. 所以想 ...

  9. 解决使用`npm install`或`npm i`命令之后报`Unexpected token in JSON at position`错误的问题

    网上大多数的教程都是以下几个步骤挨个试一遍,包括 stackoverflow 上也是这么说的 删除node_modules文件夹 删除package-lock.json文件 强制清除npm缓存 npm ...

  10. C#异步编程是怎么回事(番外)

    在上一篇通信协议碰到了多线程,阻塞.非阻塞.锁.信号量...,会碰到很多问题.因此我感觉很有必要研究多线程与异步编程. 首先以一个例子开始 我说明一下这个例子. 这是一个演示异步编程的例子. 输入jo ...