當前位置:首頁 » 編程語言 » pythonbinbash

pythonbinbash

發布時間: 2023-05-28 23:32:31

linux上像服務一樣啟動python程序,開機自動啟動,能夠start,stop,restart,status等

你的python腳本要做到可以被service來管理,無需將python腳本包到shell腳本里,實現以下六個步驟即可:
1、系統有相應的python解釋器,並在腳本頭部聲明,例如:#!/usr/bin/python
2、給予該腳本可執行許可權,如:chmod +x somescript.py
3、腳本接受第一個命令參數,需要能接受至少包含start的參數,至於stop、restart以及status等並不是必須的,你可以自己來擴展。如: ./somescript.py start 這種命令格式來啟動程序
4、將該腳本放到/etc/rc.d/init.d/路徑下
5、chkconfig --add somescript.py添加服務
6、chkconfig --level 35 somescript.py on 在init為3和5的級別上開機啟動該服務

⑵ Linux後台運行Python程序

第一種nohup命令來讓程序在後台運行

括弧內容表示可以將平時輸出到控制台中的內容重定向到*.log這個文件中,這個是可選的,如果沒有這個,則會默認輸出到nohup.out文件中。括弧後面你的&表示後台運行。
舉個例子:

第二種方法是寫一個腳本,假設我們定義了一個腳本run.sh

#!/bin/bash 是指此腳本使用/bin/bash來解釋執行下面的語句,其中cd是表示將當前目錄跳到所要運行文件所在目錄,然後python3 文件名.py則表示運行***python文件,當寫完該腳本後,執行以下命令來執行該腳本從而讓程序在後台運行。

通過 ps -ef|grep python3 命令可以查看後台運行的進程都有哪些

⑶ python中怎麼輸入輸出文件

1.打開和關閉文件(open(),file(),close())

有兩種內建函數可以獲取文件對象:open和file。他們的用法完全一樣。下面只以open()為例子講解。獲取一個文件對象(打開文件)的語法如下:

復制代碼 代碼如下:fileObj = open(filename,access_mode='r',buffering=-1)
filename不用說你也應該知道是你要打開文件的路徑。
access_mode用來標識文件打開的模式,默認為r(只讀)。

常用的模式如下表所示:

文件模式 解釋
r 以只讀方式打開
w 以寫方式打開,文件不為空時清空文件;文件不存在時新建文件。
a 追加模式,沒有則創建
r+,w+,a+ 以讀寫模式打開,參見w,a

另外還有一個b表示二進制模式訪問,但是對於Linux或者unix系統來說這個模式沒有任何意義,因為他們把所有文件都看作二進制文件,包括文本文件。

第三個參數不經常用到,標識訪問文件的緩沖方式,0代表不緩沖,1代表緩
沖一行,-1代表使用系統默認緩沖方式。只要使用系統默認就好。

一些例子:

復制代碼 代碼如下:
>>> f = open('/etc/passwd','r')
>>> f1 = open('/etc/test','w')

使用完文件後,一定要記得關閉文件,操作如下:

復制代碼 代碼如下:
>>> f.close()

2.文件讀入

2.1.file.read(size = -1)
讀取從當前文件游標起size個位元組的文件內容。如果size=-1,則讀取所有剩餘位元組。

復制代碼 代碼如下:
>>> f = open('/etc/passwd')
>>> f.read(100)
'root:x:0:0:root:/root:/bin/bash\nbin:x:1:1:bin:/bin:/sbin/nologin\ndaemon:x:2:2:daemon:/sbin:/sbin/nol'

2.2.file.readlines(size=-1)

從文件中讀取並返回一行(包括行結束符),或返回最大size個字元

復制代碼 代碼如下:
>>> f.readline()
'ogin\n'#和上面一個例子輸出的最後拼起來就是 'nologin',因為游標在l後面。
>>> f.readline(1)
'a'

2.3.file.readlines(sint=0)
讀取文件所有的行,並作為一個列表返回(包括行結束符),如果sint>0則返回總和大約sint位元組的行(具體由緩沖區大小決定)。

復制代碼 代碼如下:
f.readlines()
['dm:x:3:4:adm:/var/adm:/sbin/nologin\n', 'lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin\n', 'sync:x:5:0:sync:/sbin:/bin/sync\n', 'shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown\n', 'halt:x:7:0:halt:/sbin:/sbin/halt\n', 'mail:x:8:12:mail:/var/spool/mail:/sbin/nologin\n', ......

輸出省略。

3.文件輸出

3.1.file.write(str)
向文件中寫入指定的字元串。

復制代碼 代碼如下:
>>> f = file('/root/test.py','w+')
>>> f.write("print 'hello,world'")
>>> f.read()
''
>>> f.close()
>>> file('/root/test.py','r').read()
"print 'hello,world'"

3.2.file.write(seq)

向文件寫入字元串序列seq。seq是任何返回字元串的可迭代對象。

復制代碼 代碼如下:
>>> f = file('/root/test.py','a+')
>>> codelst = ['\n','import os\n',"os.popen('ls').read()\n"]
>>> f.writelines(codelst)
>>> f.close()
>>> file('/root/test.py','r').read()
"print 'hello,world'\nimport os\nos.popen('ls').read()\n"

注意,文件寫入的時候,不會自動加上換行符,必須手動加上。

⑷ 如何使用python腳本調用adb shell裡面的命令

python調用Shell腳本,有兩種方法:os.system(cmd)或os.popen(cmd),前者返回值是腳本的退出狀態碼,後者的返回值是腳本執行過程中的輸出內容。實際使用時視需求情況而選擇。
現假定有一個shell腳本
test.sh:
#!/bin/bash
echo "hello world!"
exit 3

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:741
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372