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

python35forlinux

發布時間: 2022-06-21 12:54:43

⑴ 如何在linux系統中安裝python

linux系統中安裝python包括以下三個步驟:

⑵ 如何使用Python3.4與Linux shell交互

下面來看下在python3.4中,如何與Linux交互的。

在python裡面可以操作linux的命令有

1,os.system("cmd")

2,os.open("cmd")

3,spawn*

4,subprocess

在最新的python里,推薦使用subprocess來與shell通信,它會生成一個子進程來連接輸出,輸入,錯誤等shell下3中標準的輸入輸出流,並返回執行結果的狀態碼0和1,來判斷本次執行命令的成功與失敗。

下面來看一個小例子,首先,確保你的linux環境支持python3.4,如果不支持,你可以參考散仙的上篇文章來安裝python3.4

首先,在linux,執行python命令找到最新的python3.4的路徑,然後再py文件里聲明頭部路徑,如果不知道python的具體安裝路徑,可以使用which python來查找路徑

[root@master ~]# py
pydoc pydoc3.4 python2 python3 python3.4-config python3.4m-config pyvenv
pydoc3 python python2.6 python3.4 python3.4m python3-config pyvenv-3.4
[root@master ~]# which python3.4
/usr/local/python3.4/bin/python3.4
[root@master ~]#
寫完腳本之後,先給腳本賦值許可權,再執行:

[root@master rtt]# chmod +x b.py
[root@master rtt]# cat b.py
#!/usr/local/python3.4/bin/python3.4

import subprocess as t

v=t.call("ls")

print ("返回值: ",v)

[root@master rtt]# b.py
a.py b.py b.txt
返回值: 0
[root@master rtt]#
看下面的例子,注意python的shell執行,返回的是一個字元串,如果我們想逐行解析,需要使用如下方法:

[root@master rtt]# cat b.txt
id name
1 a

2 戰三

3 b
[root@master rtt]# cat a.py
#!/usr/local/python3.4/bin/python3.4

import os
import subprocess as t

#var=t.getoutput("df -h")

#v=t.call("ls")

#var=t.getoutput("cat b.txt | grep a ")
var=t.getoutput("df -h | cat -n ")

for line in var.split("\n"):
print("這一行:" +line)

#print(var)

[root@master rtt]# a.py
這一行: 1 Filesystem Size Used Avail Use% Mounted on
這一行: 2 /dev/sda2 9.7G 2.9G 6.3G 32% /
這一行: 3 tmpfs 495M 0 495M 0% /dev/shm
這一行: 4 /dev/sda1 194M 28M 157M 15% /boot
這一行: 5 /dev/sda3 9.9G 948M 8.5G 10% /home
[root@master rtt]#
最後看下python的兩種,生成行號的方式:

tt="你好\n哈嘍"

for i,it in enumerate(tt.split("\n")):
print(i,it)

for line in range(len(tt.split("\n"))):
print(line," ",tt.split("\n")[line])
輸出結果如下:

0 你好
1 哈嘍
0 你好
1 哈嘍

⑶ linux怎麼安裝python

打開終端,輸入:wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0b4.tgz
下載完畢後 輸入解壓命令:tar –zxvf Python-3.5.0b4.tgz
切換到解壓的目錄:cd Python*
接下來就是安裝:
./configure
make
make install

然後查看一下就知道了:
Python 3.5.0 (#1, Aug 06 2015, 14:04:52)
[GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2
Type 「help」, 「right」, 「credits」 or 「license」 for more information.
就說明成功了,因為linux系統可能不一樣,第二行有可能不同哈。

⑷ 如何在linux系統中安裝python

1.下載源代碼 http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tar.bz2

2. 安裝

$ tar –jxvf Python-2.5.2.tar.bz2

$ cd Python-2.5.2

$ ./configure

$ make

$ make install

3. 測試

在命令行下輸入python,出現python解釋器即表示已經正確安裝。

在suse10或rhel5(es5)下系統默認已經裝了python但版本是2.4.x;本次安裝後在shell中輸入

#python

會發現顯示結果:

# python

Python 2.4.3 (#1, Dec 11 2006, 11:38:52)

[GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2

Type 「help」, 「right」, 「credits」 or 「license」 for more information.

>>>

版本還是2.4.x的

解決辦法:

#cd /usr/bin

#ll |grep python //查看該目錄下python

#rm -rf python

#ln -s PREFIX/Python-2.5.2/python ./python //PREFIX為你解壓python的目錄

#python

# python

Python 2.5.2 (#1, Dec 11 2006, 11:38:52)

[GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2

Type 「help」, 「right」, 「credits」 or 「license」 for more information.

>>>

OK!問題解決!

⑸ 如何在linux下安裝python

1、linux下安裝python3

a、 准備編譯環境(環境如果不對的話,可能遇到各種問題,比如wget無法下載https鏈接的文件)

1
2

yum groupinstall 'Development Tools'
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel

2 下載 Python3.5代碼包

wget

在安裝包中有一個README的文件,裡面有寫如何安裝

tar Jxvf Python-3.5.0.tar.xz
cd Python-3.5.0
./configure --prefix=/usr/local/python3
make && make install

提示:Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS

這是原因沒有安裝或升級oenssl:

yum install openssl-devel

再次重復編譯方案python3.5:

最終如下:

提示同時成功安裝pip-7.12與setuptools!

pip3與pip都提示沒有錯誤!

做軟鏈:

ln -s /usr/local/python3/bin/pip3.5 /usr/local/bin/pip

升級pip到最新版本:

pip install --upgrade pip

pip安裝成功啦!

註:--no-check-certificate 表示安裝時逗不檢查證書地,不加上可能無法安裝。

2.安裝包

requests包:

pip install requests

pyquery包:

pip install pyquery

pymysql包:

pip install pymysql

⑹ 在linux下運行python腳本的問題

首先是編碼問題。。在 文件頭加上#coding:gbk 如果那個字元串是 print '啊啊啊'的話 那麼就把字元串的前面加個u 變成 print u'啊啊啊' 這樣應該可以解決問題

⑺ Python腳本在Linux上怎麼運行

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

⑻ python35個保留字是什麼

python35個保留字是['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']。

Python已經被移植在許多平台上(經過改動使它能夠工作在不同平台上)。這些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS。

Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基於linux開發的android平台。


規范的代碼:

Python採用強制縮進的方式使得代碼具有較好可讀性。而Python語言寫的程序不需要編譯成二進制代碼。Python的作者設計限制性很強的語法,使得不好的編程習慣(例如if語句的下一行不向右縮進)都不能通過編譯。

其中很重要的一項就是Python的縮進規則。一個和其他大多數語言(如C)的區別就是,一個模塊的界限,完全是由每行的首字元在這一行的位置來決定(而C語言是用一對大括弧「{}」(不含引號)來明確的定出模塊的邊界,與字元的位置毫無關系)。

通過強製程序員們縮進(包括if,for和函數定義等所有需要使用模塊的地方),Python確實使得程序更加清晰和美觀。

⑼ 在linux下運行python腳本時的問題

腳本中有了非 ASCII 編碼的字元
在腳本的第一行加上:

# -*- coding: utf-8 -*-

即可。

⑽ python linux怎麼操作

1. os 模塊

1.1. os模塊的exec方法族

Python的exec系統方法同Unix的exec系統調用是一致的。這些方法適用
於在子進程中調用外部程序的情況,因為外部程序會替換當前進程的代碼,不會返回。( 這個看了點 help(os) --> search
"exec" 的相關介紹,但是沒太搞明白咋使用)

1.2. os模塊的system方法

system方法會創建子進程運行外部程序,方法只返回外部程序的運行結果。這個方法比較適用於外部程序沒有輸出結果的情況。

[python]
view plain

>>> import os
>>> os.system("echo \"Hello World\"") # 直接使用os.system調用一個echo命令
Hello World ——————> 列印命令結果
0 ——————> What's this ? 返回值?
>>> val = os.system("ls -al | grep \"log\" ") # 使用val接收返回值
-rw-r--r-- 1 root root 6030829 Dec 31 15:14 log ——————> 此時只列印了命令結果
>>> print val
0 ——————> 注意,此時命令正常運行時,返回值是0
>>> val = os.system("ls -al | grep \"log1\" ")
>>> print val
256 ——————> 使用os.system調用一個沒有返回結果的命令,返回值為256~
>>>

注意:上面說了,此方法脂肪會外部程序的結果,也就是os.system的結果,所以如果你想接收命令的返回值,接著向下看~

1.3. os模塊的popen方法

當需要得到外部程序的輸出結果時,本方法非常有用,返回一個類文件對象,調用該對象的read()或readlines()方法可以讀取輸出內容。比如使用urllib調用Web API時,需要對得到的數據進行處理。os.popen(cmd) 要得到命令的輸出內容,只需再調用下read()或readlines()等 如a=os.popen(cmd).read()

[python]
view plain

>>> os.popen('ls -lt') # 調用os.popen(cmd)並不能得到我們想要的結果
<open file 'ls -lt ', mode 'r' at 0xb7585ee8>
>>> print os.popen('ls -lt').read() # 調用read()方法可以得到命令的結果
total 6064
-rwxr-xr-x 1 long long 23 Jan 5 21:00 hello.sh
-rw-r--r-- 1 long long 147 Jan 5 20:26 Makefile
drwxr-xr-x 3 long long 4096 Jan 2 19:37 test
-rw-r--r-- 1 root root 6030829 Dec 31 15:14 log
drwxr-xr-x 2 long long 4096 Dec 28 09:36 pip_build_long
drwx------ 2 Debian-gdm Debian-gdm 4096 Dec 23 19:08 pulse-gylJ5EL24GU9
drwx------ 2 long long 4096 Jan 1 1970 orbit-long
>>> val = os.popen('ls -lt').read() # 使用變數可以接收命令返回值
>>> if "log" in val: # 我們可以使用in來判斷返回值中有木有一個字元串
... print "Haha,there is the log"
... else:
... print "No,not happy"
...
Haha,there is the log

2. commands 模塊

使用commands模塊的getoutput方法,這種方法同popend的區別在於popen返回的是一個類文件對象,而本方法將外部程序的輸出結果當作字元串返回,很多情況下用起來要更方便些。
主要方法:

* commands.getstatusoutput(cmd) 返回(status, output)
* commands.getoutput(cmd) 只返回輸出結果
* commands.getstatus(file) 返回ls -ld file的執行結果字元串,調用了getoutput,不建議使用此方法

[python]
view plain

long@zhouyl:/tmp/tests$ python
Python 2.7.3 (default, Jan 2 2013, 16:53:07)
[GCC 4.7.2] on linux2
Type "help", "right", "credits" or "license" for more information.
>>> import commands
>>> commands.getstatusoutput('ls -lt') # 返回(status, output)
(0, 'total 5900\n-rwxr-xr-x 1 long long 23 Jan 5 21:34 hello.sh\n-rw-r--r-- 1 long long 147 Jan 5 21:34 Makefile\n-rw-r--r-- 1 long long 6030829 Jan 5 21:34 log')
>>> commands.getoutput('ls -lt') # 返回命令的輸出結果(貌似和Shell命令的輸出格式不同哈~)
'total 5900\n-rwxr-xr-x 1 long long 23 Jan 5 21:34 hello.sh\n-rw-r--r-- 1 long long 147 Jan 5 21:34 Makefile\n-rw-r--r-- 1 long long 6030829 Jan 5 21:34 log'
>>> commands.getstatus('log') # 調用commands.getoutput中的命令對'log'文件進行相同的操作
'-rw-r--r-- 1 long long 6030829 Jan 5 21:34 log'
>>>

3. subprocess模塊

根據Python官方文檔說明,subprocess模塊用於取代上面這些模塊。有一個用Python實現的並行ssh工具—mssh,代碼很簡短,不過很有意思,它在線程中調用subprocess啟動子進程來幹活。

[python]
view plain

>>> from subprocess import call
>>> call(["ls", "-l"])

subprocess與system相比的優勢是它更靈活(你可以得到標准輸出,標准錯誤,「真正」的狀態代碼,更好的錯誤處理,等..)。我認為使用os.system已過時,或即將過時。

熱點內容
取消微信設置密碼在哪裡設置 發布:2025-02-05 22:48:49 瀏覽:666
mysql內存存儲 發布:2025-02-05 22:30:39 瀏覽:569
靜態存儲區堆棧 發布:2025-02-05 22:09:11 瀏覽:101
js加密演算法 發布:2025-02-05 22:06:35 瀏覽:230
python3graphics 發布:2025-02-05 21:36:57 瀏覽:511
為什麼英雄聯盟一個伺服器進不去 發布:2025-02-05 21:36:12 瀏覽:182
伺服器搭建網站開發教材 發布:2025-02-05 21:31:57 瀏覽:567
pythonrose 發布:2025-02-05 21:31:46 瀏覽:923
php數組從小到大排序 發布:2025-02-05 21:26:01 瀏覽:325
單片機存儲器擴展 發布:2025-02-05 21:17:35 瀏覽:966