[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
总结
这次总算可以把
sleep.py直接执行了sleep.py文件头部要声明好打开方式
#!/usr/bin/python3- 用的是
python3解释sleep.py
修改
sleep.py文件 的执行权限给当前用户增加 执行
execute权限- chmod u+x sleep.py
运行
./sleep.py成功- 但我不想总带着当前路径
./
- 但我不想总带着当前路径
我想要直接
sleep.py就自动运行- 这可能么?
- 我们下次再说!
- 蓝桥->oeasy 教您玩转 python_Python - 蓝桥云课
- github->GitHub - overmind1980/oeasy-python-tutorial: 良心的 Python 教程,面向零基础初学者简明易懂的 Python3 入门基础课程。在linux+vim生产力环境下,从浅入深,从简单程序学到网络爬虫。可以配合蓝桥云上实验环境操作。
- gitee->oeasy教您玩转python教程: 面向零基础初学者的简明易懂的 Python3 入门课程,对没有编程经验的同学也非常友好。在vim下从浅入深,逐步学习。从基础入门学习到爬虫。
- 视频->[oeasy]教您玩转python零基础学python入门教程(合集)_哔哩哔哩_bilibili 作者:oeasy
[oeasy]python0028_直接运行_修改py文件执行权限_设置py文件打开方式的更多相关文章
- apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法
apache环境下禁止某文件夹内运行PHP脚本.禁止访问文件或目录执行权限的设置方法 首先我们来看两段对上传目录设置无权限的列子,配置如下: <Directory "要去掉PHP执 ...
- 运行时修改TimerTask的执行周期
java.util.TimerTask类的执行周期period变量的声明如下: /** * Period in milliseconds for repeating tasks. A positive ...
- FTP下文件夹权限的设置755,766,777,644代表什么意思
一般情况下,为了网站更安全,我们需要给文件或文件夹设置权限,在采用FTP登录的方式下,经常会用到755,766,777,644等设置. 具体这些数字都代表什么意思呢? 这三个数字分别表示:不同用户或用 ...
- Linux读写执行权限对目录和文件的影响
提示:这里的用户指的是普通用户 读写执行权限对root无效 对于目录来说 1)只拥有读权限 可以ls 查看目录内容,不能切换进目录中去 也不能创建目录或文件 [support@node1 opt]$ ...
- .jar文件没有Java(TM) Platform SE binary打开方式解决办法
下面是我个人在打开.jar文件时候的一些小问题: 明明已经配置好了环境变量.jar文件却没有 Java(TM) Platform SE binary 的打开方式, 网上查了资料点明是环境变量的问题,后 ...
- UNIX文件的权限之“设置用户ID位”
用stat函数可以获取一个文件的状态信息,原型是这样的: int stat(const char *path, struct stat *buf); 其中结构体stat的结构: struct stat ...
- 39. 在linux下装好Tomcat要给 tomcat/bin/下面所有.sh的文件执行权限
chmod a+x *.sh(赋予可执行的权限)
- 执行py文件需要可执行权限吗?
案例解析 这个问题描述起来有点违反直觉,要执行一个文件难道不应该需要可执行权限吗?让我们先来看一个例子: # module1.py def test(): print ('hello world!') ...
- Linux如何修改文件/文件夹内所有文件的权限
一.修改文件权限 修改文件权限前,需要了解一下权限中的”rwx”与数字的对应关系,其中r=4,w=2,x=1. 例如:”drwxr-xr-x”,第一个”d”是代表文件夹,这里不用考虑,后面九个字符,每 ...
- Codeblocks 等软件 修改源代码后 不能立即执行的解决办法||exe文件删除慢
不懈地奋斗了两天,终于找到原因了. 记录如下 症状: Codeblocks .Visual Studio 都出现此问题:修改源代码 无法立即执行 ,就是:cannot open output file ...
随机推荐
- OpenStack Centos7 T版本搭建
目录 Centos7搭建OpenStack T版本 --上 1. 环境准备(所有节点操作) 1.1 修改主机名 1.2 关闭selinux 以及防火墙 1.3 修改hosts 1.4 配置时间同步 c ...
- 文件系统(五):exFAT 文件系统原理详解
前言 exFAT是微软2006年推出的一种文件系统,距今已快二十年,相比于FAT16和FAT32,exFAT还是算年轻.exFAT一直是微软的一个专用文件系统,直到2019年微软发布它的规范,目前微软 ...
- 分享一个关于Avl树的迭代器算法
1 研究过程 前段时间在研究avl树的迭代实现,在节点不使用parent指针的情况下,如何使用堆栈来实现双向地迭代.我参考了网络上的大部分迭代器实现,要么是使用了parent指针(就像c++的map容 ...
- GeoGebra作圆的切线
参考文档:<GeoGebra入门教程>唐家军 1. 目的 使用GeoGebra作出过一点的圆的切线. 2. 构造过程 文档种的描述如下: 按照上述构造过程,在输入条形框中依次输入上面的指令 ...
- WIN11 删除其它用户/账户
WIN11 删除其它用户/账户 参考:https://support.microsoft.com/zh-cn/windows/%E5%9C%A8%E7%94%B5%E8%84%91%E4%B8%8A% ...
- 一个常见的 JavaScript 解构陷阱
在日常的 JavaScript 编码中,我们经常使用解构语法来提取对象中的属性.假设我们有一个名为 fetchResult 的对象,代表从接口返回的数据,其中包含一个字段名为 data. const ...
- 写的程序总是出 BUG,只好请佛祖前来镇楼啦
前言 自己之前写着玩的,在这做个备份,感觉不错的取走即可. 南无阿弥陀佛 佛祖镇楼,BUG 消失,永不怠机. ///////////////////////////////////////////// ...
- 【干货分享】.NET人脸识别解决方案
前言 前段时间有同学在DotNetGuide技术社区交流群提问:.NET做人脸识别功能有什么好的解决方案推荐的吗?今天大姚给大家推荐2款.NET开源.免费.跨平台.使用简单的人脸识别库,希望可以帮助到 ...
- vue2 实现可拖拽悬浮球
实现效果 相关代码 点击查看代码 <template> <div class="float-box"> <div class="button ...
- Flink状态(二)
Flink提供了不同的状态存储方式,并说明了状态如何存和存储在哪里. 状态可以被存储在Jvm的堆和堆外.根据状态存储方式的不同,Flink也能代替应用管理状态,意思是Flink能够进行内存管理(有必要 ...