[oeasy]python0028_直接運(yùn)行_修改py文件執(zhí)行權(quán)限_設(shè)置py文件打開方式
直接運(yùn)行
回憶上次內(nèi)容
我們把兩個(gè)程序整合起來了
可以持續(xù)輸出當(dāng)前時(shí)間
每秒都更新

但是我想在 shell 里面
只輸入文件名(./sleep.py)并回車
就能不斷輸出時(shí)間
可能嗎???
import timewhile True: ? ?print(time.asctime()) ? ?time.sleep(1)
嘗試執(zhí)行
第 1 句 根本沒有找到 sleep.py

第 2 句 根據(jù)相對路徑路徑
./
找到了 sleep.py其中 . 代表的是當(dāng)前目錄
在/home/shiyanlou/找到sleep.py
但是沒有權(quán)限
要想辦法觀察到文件的可執(zhí)行權(quán)限
觀察權(quán)限
ls 是 列出(list)當(dāng)前文件夾下的所有文件
-lh是參數(shù)
指的是文件大小使用k、m這種
更人類可讀(human readable)的方式
而不是采用字節(jié)的方式
代表著使用的是一行行列表的方式
這樣可以查出文件詳細(xì)信息
大小
讀寫權(quán)限
l(list)
h(uman readable)
#查詢sleep.pyls -lh sleep.py#修改權(quán)限chmod u+x sleep.py#再次查詢sleep.pyls -lh sleep.py
sleep.py
指的是我們就是要查詢的文件
就是sleep.py
查詢之后什么結(jié)果呢?
ls結(jié)果
chmod u+x sleep.py
被改變的文件名稱
u
ser 當(dāng)前用戶組+x
增加 ex
cute 的權(quán)限ch
ange 改變mod
e 狀態(tài)位 mode bitschmod
u+x
sleep.py

注意下圖紅圈位置的變化
-
就是沒有 ex
cute 的權(quán)限x
就是有了 ex
cute 的權(quán)限從 - 到了 x
這回能執(zhí)行了么?
執(zhí)行
和剛才不一樣了
確實(shí)能執(zhí)行了!哈哈!

不過看起來不是按照python程序來執(zhí)行的
而是按照執(zhí)行zsh批處理命令的方式執(zhí)行的
如何直接運(yùn)行python程序呢?
先搜索吧
進(jìn)行搜索

提示是這樣的

總共分 3 步:
設(shè)置文件自動(dòng)用
/usr/bin/python3
打開python3
好像在/usr/bin/
python3
就是sleep.py
文件正確的打開方式第 1 步 確認(rèn)
python3
文件位置第 2 步 編輯文件
第 3 步 運(yùn)行
py文件
我們先確認(rèn)
python3
的位置
python3的位置
如果想要
sleep.py
能自動(dòng)執(zhí)行which python3
?就是
/usr/bin
下的python3
注意
usr
不是user
用
python3
來打開執(zhí)行必須要明確這個(gè)py文件的打開方式
python3 在哪?

下面要編輯
sleep.py
在
sleep.py
第一行設(shè)置自動(dòng)打開方式為
/usr/bin/python3
添加文件頭
最上面的一句以
#
?開頭
#!/usr/bin/python3import timewhile True: ? ?print(time.asctime()) ? ?time.sleep(1)
#
的意思是注釋
這個(gè)設(shè)置了當(dāng)前文件(sleep.py)的執(zhí)行方式
這句不用執(zhí)行
!/usr/bin/python3

準(zhǔn)備運(yùn)行
:wq
保存并退出vim
保存并運(yùn)行
依然使用
./sleep.py
. 指的是當(dāng)前路徑
/指的是當(dāng)前路徑下

執(zhí)行成功!??!
??
跳出循環(huán)的快捷鍵仍然是
ctrl+c
總結(jié)
這次總算可以把
sleep.py
直接執(zhí)行了#!/usr/bin/python3
用的是
python3
解釋sleep.py
sleep.py文件頭部要聲明好打開方式
修改
sleep.py
?文件 的執(zhí)行權(quán)限chmod u+x sleep.py
給當(dāng)前用戶增加 執(zhí)行
execute
權(quán)限運(yùn)行
./sleep.py
成功但我不想總帶著當(dāng)前路徑
./
我想要直接
sleep.py
就自動(dòng)運(yùn)行這可能么???
我們下次再說!??
藍(lán)橋->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython
視頻->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy