當前位置:首頁 » 編程語言 » python執行linux

python執行linux

發布時間: 2022-12-09 16:48:06

A. linuxpython編寫Linux自定義命令工具

摘要: Linux , Python

工作中需要頻繁使用到一個字元串的md5,因此編寫一個md5命令工具,輸入字元串直接得到輸出,並且命令支持參數設置,比如是否事先格式化,指定不同參數可以支持多功能輸出,操作步驟如下

直接vim一個腳本,腳本名md5不需要.py後綴,這樣更像一個命令,注意在腳本第一行引入python解釋器,並設置utf-8編碼

其中-f支持先格式化再得到md5,-l支持傳入多個字元串用空格分開

賦予可執行許可權

測試是否符合要求

直接放置到 /usr/local/bin 目錄下(需要root許可權)

也可以使用軟連接的方式,推薦使用絕對路徑

之後就可以在環境變數中直接使用到md5命令

shebang :中文翻譯「釋伴」,由 #! 開頭的字元串,出現在文本文件的 第一行 。類UNIX操作系統的程序載入器會分析shebang後的內容,將這些內容作為解釋命令,並調用該指令,並將載有 shebang的文件路徑作為該解釋器 的參數

比如 #!/bin/bash 就是使用/bin/bash作為解釋器運行腳本,如果以Python作為解釋器運行腳本先找到Python解釋器的路徑,一般在Linux自帶的 /usr/bin/python 是Python2版本,也可以指定其他Python版本 #!/opt/anaconda3/bin/python ,第二行為 # coding=utf-8 用來指定編碼格式,否則Python2輸出中文亂碼

對於自定義腳本,推薦放置在 /usr/local/bin 目錄,有多個可執行文件目錄在環境變數中,區別如下:
/bin : 包含二進制可執行文件,為系統最基本的命令,如ls等
/sbin : 與/bin 類似,不同之處是其為root許可權命令文件
/usr/bin : 系統預裝可執行文件,會隨著系統升級而改變
/usr/sbin : 同上,不同之處是其為root許可權運用
/usr/local/bin : 三級目錄,用戶自己的可執行文件,系統不管理
/usr/local/sbin : root許可權用戶程序

B. Python腳本在Linux上怎麼運行

一種方式是用Python命令加Python腳本文件名來運行,如果是運行Python 2.x的Python腳本,可以用python命令(字母P小寫)執行:python 文件名;如果是運行Python 3.x的Python腳本,就用python3命令行執行:python3 文件名。
還有一個直接輸入腳本文件名來運行Python腳本的方式,不過這個Python腳本必須具有可執行許可權(Linux系統中有執行許可權的文件才可以執行,即便是一個二進制文件沒有可執行許可權也是不能運行的),給一個文件添加可執行許可權的命令是:chmod a+x 文件路徑。注意一點:輸入的腳本文件名如果不是一個絕對路徑的文件名,就要先用cd命令切換到腳本所在文件夾,然後以./文件名的方式運行(文件名前面加的是一個英文點號和一個英文斜杠,表示在當前目錄下運行文件),./必須加上。

C. python放在linux哪個目錄下可直接執行

usr/bin下。python的可執行文件的目錄一般在/usr/bin下,通過apt-get安裝的應用一般會在這個目錄直接運行0。Python由荷蘭數學和計算機科學研究學會的GuidovanRossum於1990年代初設計,作為一門叫做ABC語言的替代品。Linux是一種自由和開放源代碼的類UNIX操作系統。

D. Linux後台運行Python程序

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

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

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

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

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

E. Python腳本在Linux上怎麼運行

linux有下列的幾種方法來運行python腳本:(注:我所用的python環境為2.6)一.終端命令行下[]$python"name.py"二.python環境中若腳本名稱為name.py,其內容為:a='head'b='hehe'print(a,b)則使用>>>impportname針對此種方法我們使用下面的語句來顯示內容:>>>print(name.a)>>>head>>>print(name.b)>>>hehe在同一個python環境中,第一次import載入以後,以後再使用import就不會有相應的結果顯示了,在這個時候可以使用>>>reload(name)在python3.0中可能要載入ipm模塊才能使用reload()函數>>>fromimpimportreload>>>reload(name)三.使用from假設腳本的名稱為name.pyname.py的內容為:a='head'b='hehe'print(a,b)可以使用下邊的方法來運行腳本:>>>fromnameimporta,b,c在這個python環境中我們就可以使用簡單的變數名來調用其內容了。eg:>>>a>>>'head'>>>b>>>'hehe'四.使用exec方法為:>>>exec(open('name.py').read())NOTICE:在上面的方法中,第三種和第四種方法會默認覆蓋python環境中已經存在的且和name.py中有重名的變數名,且系統不會給出提示,請注意這一點!!!

F. linux python運行報編碼錯誤

一次重啟伺服器後,supervisor接管的python腳本中的函數 open() 和 print() 都會報下面的編碼錯誤:
UnicodeEncodeError: 'ascii' codec can't encode

使用的是python3,按理說編碼都會默認utf-8,而且本地運行的python腳本並沒有這個問題。

經大佬指點,增加環境變數 export LC_ALL="en_US.UTF-8" 後,再重啟supervisor,問題解決

下面是復制的: https://www.cnblogs.com/badboy200800/p/11215981.html

Locale是一個軟體在運行時的語言環境,。是根據計算機用戶所使用的語言,所在國家或者地區,以及當地的文化傳統所定義的。它包括語言(Language), 地域 (Territory) 和字元集(Codeset)。

一個locale的書寫格式為: 語言[ 地域[.字元集]]。完全的locale表達方式是 [語言[ 地域][.字元集] [@修正值]。例如:

zh_CN.GB2312 => 中文_中華人民共和國+國標2312字元集。

(1)locale把按照所涉及到的文化傳統的各個方面分成12個大類

(2)查看標准字元集列表

常用字元集:en_US.utf8、zh_CN.gb2312、zh_CN.gbk、zh_CN.utf8等

3.Locale的設定

LC_ALL和LANG優先順序的關系:LC_ALL > LC_* >LANG
(1)如果需要一個純中文的系統的話,設定LC_ALL= zh_CN.XXXX即可。或者設定LANG=zh_CN.XXXX也可以,但是LC_ 不要有任何特殊設定才可以(因為LC_ 優先順序高)。
(2)如果需要個性化的環境,例如只想要一個可以輸入中文的環境,而保持菜單、標題,系統信息等等為英文界面,那麼只需要設定LANG=en_US.XXXX,然後 LC_CTYPE=zh_CN.XXXX就可以了。
(3)假如什麼也不做的話,也就是LC_ALL,LANG和LC_*均不指定特定值的話,系統將採用POSIX作為lcoale,也就是C locale。

4.查看與設定字元集實踐

(1)查看當前系統字元集三種方式(LC_ALL、LC_CTYPE和LANG),以查看LANG為例:

(2)更改系統字元集

備註:直接執行上述命令,可以臨時修改系統字元集。如果寫入環境變數可以永久改變字元集。

(3)取消當前系統字元集(設定為空)

備註:直接執行上述命令,可以臨時修改系統字元集。如果寫入環境變數可以永久改變字元集。

G. 在Python中調用linux命令

目的:用Python做出全自動化的pipline,用於rrbs

最近有個需求就是頁面上執行shell命令,第一想到的就是os.system,

os.system('cat /proc/cpuinfo')

但是發現頁面上列印的命令執行結果 0或者1,當然不滿足需求了。

嘗試第二種方案 os.popen()

output = os.popen('cat /proc/cpuinfo')printoutput.read()

通過 os.popen() 返回的是 file read 的對象,對其進行讀取 read() 的操作可以看到執行的輸出。但是無法讀取程序執行的返回值)

嘗試第三種方案 commands.getstatusoutput() 一個方法就可以獲得到返回值和輸出,非常好用。

(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')printstatus, output

Python Document 中給的一個例子,

>>>import commands>>> commands.getstatusoutput('ls /bin/ls')

(0, '/bin/ls')>>> commands.getstatusoutput('cat /bin/junk')

(256,'cat: /bin/junk: No such file or directory')>>> commands.getstatusoutput('/bin/junk')

(256,'sh: /bin/junk: not found')>>> commands.getoutput('ls /bin/ls')'/bin/ls'>>> commands.getstatus('/bin/ls')'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'

最後頁面上還可以根據返回值來顯示命令執行結果。

H. 怎麼在linux上運行python

Linux默認是已經安裝好了Python程序
目前來說,大多數的Linux發行版是安裝了兩個版本的Python程序
一個是Python 2.x
一個是Python 3.x
一些系統自帶的程序文件需要Python 2的支持,另外Python 3又是大勢所趨
所以,我們最好不要動系統的Python版本
需要使用哪個版本直接聲明就可以了
運行Python的方法:
我們在Linux系統上打開終端
輸入python
會彈出Python 2的版本和解釋器
輸入python3
會彈出Python 3的版本和解釋器
所以我們一般情況下,運行python 2的程序就輸入命令
python 程序文件
運行python 3的程序輸入命令
python3 程序文件
這里我們默認使用版本為Python 3
在終端輸入命令
Python3
彈出Python的解釋器以>>>開頭
我們可以在上面輸入Python程序
它會直接輸出結果
比如:
我們這里輸入32+46,輸出結果為78
輸入print('hello python'),輸出結果hello python
注意:當我們運行.py文件時,文件里的32+46是不會直接列印出來的
必須加列印命令
print(32+46)
我們退出python3解釋器的快捷鍵不是Ctrl+C
而是Ctrl+Z
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關於怎麼在linux上運行python的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

I. 將Python程序打包成linux可執行文件

1.安裝環境

首先我們要安裝pip,命令如下:

使用的工具是 pyinstaller ,打開終端輸入sudo pip install pyinstaller

2.打包程序

首先在打包之前檢查一下我們的py文件是否可以正常執行,確認無誤後進行打包 pyinstaller -F car_tkinter.py          或者 python3 -m PyInstaller -F main.py

3.執行文件

進入我們打包存放的文件夾,打開終端,執行語句 ./car_tkinter       或者 nohup ./car_tkinter> data.log &

J. Python腳本在Linux上怎麼運行

一、首先下載安裝python,建議安裝2.7版本以上,3.0版本以下,由於3.0版本以上不向下兼容,體驗較差。

熱點內容
openwrt編譯零基礎 發布:2025-01-21 01:53:30 瀏覽:19
視頻聊天室源碼php 發布:2025-01-21 01:39:29 瀏覽:938
游戲腳本xp 發布:2025-01-21 01:25:48 瀏覽:209
cfa建模需要什麼電腦配置 發布:2025-01-21 01:16:41 瀏覽:96
配置獲取異常怎麼辦 發布:2025-01-21 01:16:29 瀏覽:641
植發都加密嗎 發布:2025-01-21 01:16:28 瀏覽:735
工商保障卡原始密碼是什麼 發布:2025-01-21 01:09:33 瀏覽:786
sqlserver2012sp 發布:2025-01-21 01:06:23 瀏覽:888
驚變在線看ftp 發布:2025-01-21 01:06:20 瀏覽:233
用近似歸演算法 發布:2025-01-21 00:51:56 瀏覽:517