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

python26forlinux

發布時間: 2023-05-06 20:24:33

python linux編譯安裝

these moles were not found,缺少依賴。

不要用源碼編基乎譯啦,linux發差鋒慧行版本都自帶軟體管理工具的虛答

Ⅱ Python腳本在Linux上怎麼運行

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

Ⅲ linux下的python ide怎麼設置tab補全

在Python模式交互下,tab自動補全會提高代碼效率,通過以下步驟可以很方便的實現自動補全。
1.獲取操作目錄
[root@liu site-packages]# pythonPython 2.6.6 (r266:84292, Nov 22 2013, 12:16:22)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "right", "credits" or "license" for more information.>>> import sys>>> sys.path
['', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib64/python2.6/site-packages/gtk-2.0', '/usr/lib/python2.6/site-packages']>>> 123456789

可以看出,我的工作目錄是/usr/lib/python2.6/site-packages/。
2.進入工作目錄,編寫tab.py補全文件
[root@liu site-packages]# cd /usr/lib/python2.6/site-packages/[root@liu site-packages]# vim tab.py 123

tab.py內容如下,建議粘貼的時候保證格式正確性
1 #!/usr/bin/python
2 # python tab file
3 import sys 4 import readline 5 import rlcompleter 6 import atexit 7 import os 8 # tab completion
9 readline.parse_and_bind('tab: complete') 10 # history file
11 histfile = os.path.join(os.environ['HOME'], '.pythonhistory') 12 try: 13 readline.read_history_file(histfile) 14 except IOError: 15 pass
16 atexit.register(readline.write_history_file, histfile) 17
18 del os, histfile, readline,

3.添加環境變數,使其生效
[root@liu site-packages]# cd [root@liu ~]# vim .bashrc123

在末尾添加一行
export PYTHONSTARTUP=/usr/lib/python2.6/site-packages/tab.py1

4.重讀.bashrc文件
source .bashrc1

或者
. .bashrc1

5.測試效果
[root@liu ~]# python
Python 2.6.6 (r266:84292, Nov 22 2013, 12:16:22)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "right", "credits" or "license" for more information.
>>> import math>>> math.math.__class__( math.acos( math.fsum(math.__delattr__( math.acosh( math.hypot(math.__dict__ math.asin( math.isinf(math.__doc__ math.asinh( math.isnan(math.__file__ math.atan( math.ldexp(math.__format__( math.atan2( math.log(math.__getattribute__( math.atanh( math.log10(math.__hash__( math.ceil( math.log1p(math.__init__( math.sign( math.modf(math.__name__ math.cos( math.pimath.__new__( math.cosh( math.pow(math.__package__ math.degrees( math.radians(math.__rece__( math.e math.sin(math.__rece_ex__( math.exp( math.sinh(math.__repr__( math.fabs( math.sqrt(math.__setattr__( math.factorial( math.tan(math.__sizeof__( math.floor( math.tanh(math.__str__( math.fmod( math.trunc(math.__subclasshook__( math.frexp(
>>> math.

完成。我一開始一直報錯,然後通過排查就是因為tab.py格式不正確。注意其格式。

Ⅳ python 執行linux命令後怎樣輸入密碼

一、使用工具:python、linux
二、方法步驟:有三種方法
1、 最簡單的方法,但是不安全
raw_input() :
pwd = raw_input('password: ')
print pwd
# password: aaa
# aaa
2、很安全,但是看不到輸入的位數,會讓人覺得有點不習慣,不知道的還以為沒有在輸入
getpass.getpass() :
import getpass
pwd = getpass.getpass('password: ')
print pwd
# password:
# aaaa
3、
msvcrt.getch() :
代碼如下:
import msvcrt, sys
def pwd_input():
chars = []
while True:
newChar = msvcrt.getch()
if newChar in '\r\n':
# 如果是換行,則輸入結束
print ''
break
elif newChar == '\b':
# 如果是退格,則刪除末尾一位
if chars:
del chars[-1]
sys.stdout.write('\b')
# 刪除一個星號,但是不知道為什麼不能執行...
else:
chars.append(newChar)
sys.stdout.write('*')
# 顯示為星號
print ''.join(chars)
pwd = pwd_input()
print pwd
# ******
# aaaaaa
三、注意事項:第三種方法解決了第二種方法不能顯示輸入位數的問題,但是如果按退格鍵(backspace)的話,雖然實際的是退格了,
但控制台卻沒有顯示相應的退格,比如,當前輸入是:abcd,顯示為:****,然後現在打一個退格鍵,實際
輸入為:abc,而顯示仍為:****。不知道為什麼 sys.stdout.write('\b') 這行沒有執行,估計是和使用msvcrt.getch()有關系。感興趣的朋友可以進一步研究一下。

Ⅳ linux如何安裝python

已經存在python2的linux環境上安裝python3,有兩種方法,第一種是替換python2,第二種是直接安裝python3,而不替換python2,這樣的話,在python3運行的時候,就要寫成python3+啟動等語句

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

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

Ⅶ python在linux系統怎麼安裝

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 https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tar.xz

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

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

做軟鏈:
ln -s /usr/local/python3/bin/python3.5 /usr/local/bin/python3

安裝成功了!
如果提示: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 表示安裝時「不檢查證書」,不加上可能無法安裝。

Ⅷ Linux:Python編寫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許可權用戶程序

Ⅸ 如何使用Python動態控制Linux系統的內存佔用百分比

如何使用Python動態控制Linux系統的內存佔用百分比?

近期有網上朋友尋求幫助:如何通過腳本動態控制Linux系統的內存佔用百分比?經過一番網路+編寫調試,終於初步完成了動態控制Linux系統內存佔用百分比。現寫出來以幫助更多的朋友。
1 前言
根據需求是動態控制Linux系統內存佔用百分比,比如當前內存佔用30%,如果設置內存佔用為70%,則需要申請內存使達到佔用70%;如果再降低到40%,則需要釋放部分申請的內存。其實腳本的本質是內存動態申請與釋放。
注意:因為Python腳本運行之前內存有一定佔用,故設定內存佔用不能低於該百分比。
2 內存動態申請
通過查詢資料,使用Python動態申請內存塊,可以使用ctypes包中的函數,導入包及代碼如下所示:
>>> from ctypes import *
>>> mem=create_string_buffer(1024)
說明:內存申請使用create_string_buffer()函數,上面申請了1024位元組的內存塊。
下面演示申請100MB內存前後變化
申請前如下圖所示:

使用代碼如下:
>>>mem=create_string_buffer(104857600)
申請後如下圖所示:

從上述兩幅圖中可以看出,申請內存前內存佔用295MB,申請後內存佔用397MB,增加了約100MB內存佔用。
3 內存動態釋放
由於Python對內存是有垃圾回收機制的,採用對象引用計數方式。當對象的引用計數為0時,啟動垃圾回收GC。此處內存動態釋放就是使用該原理。
代碼如下:
>>> mem=None
釋放後內存佔用如下圖所示:

內存佔用由397MB降低到297MB,釋放了100MB內存佔用。
說明:將None賦值給對象mem後,mem對象的引用計數即為0,此時垃圾回收啟動,釋放mem對象佔用的內存。
4 系統總內存、佔用內存檢測
由於需要設定內存佔用百分比,故需要獲取系統總物理內存和佔用內存。本文使用的方法是讀取系統文件「/proc/meminfo」,從中解析出總內存大小以及當前內存佔用大小等內存相關的信息。該文件內容格式如下圖所示:

代碼片段如下所示:
f = open("/proc/meminfo")
lines = f.readlines()
f.close()
for line in lines:
if len(line)< 2:continue
name = line.split(':')[0]
var = line.split(':')[1].split()[0]
mem[name]= long(var)* 1024.0
mem['MemUsed']= mem['MemTotal']- mem['MemFree']
說明:按行讀取meminfo文件內容,創建字典對象mem,將meminfo文件第一列設置為mem對象的鍵值,將meminfo文件第二列數字設置為mem對象的值。
5 獲取用戶輸入百分比
通過讀取鍵盤輸入字元串,然後轉換為數字實現接收用戶輸入的百分比,代碼如下所示:
input_str=raw_input("Input UsedMemory`s Rate or q to exit:")
rate=float(input_str)
注意:此處鍵盤輸入的都是字元串,需要進行字元串轉換為數字,使用float()或long()函數進行轉換。
6 動態設置內存佔用百分比測試
測試使用兩個Python腳本文件,分別是test.py和mem_rate.py,其功能分別是查看當前內存佔用和動態設定內存佔用百分比。如下圖所示:

注意:上述兩個文件需要使用「chmod +x *.py」修改為可執行屬性。
6.1 查看當前內存佔用
查看當前內存佔用百分比,使用上述test.py文件,運行命令為「./test.py」,運行結果如下圖所示:

當前使用內存為320MB,佔用百分比為17%。
6.2 動態設置內存佔用百分比
動態設置內存佔用百分比使用上述mem_rate.py腳本,注意該腳本文件第一行代碼為「#!/usr/bin/python2.6」,表示該腳本使用python2.6程序運行。該行需要修改為待運行Linux系統中Python實際的安裝程序路徑。
動態內存百分比設置界面如下圖所示:

處於待輸入狀態。另外顯示了當前內存佔用(321MB),總內存大小(1869MB)以及內存佔用百分比(17%)。
如果此時設置內存佔用百分比為80%,則腳本會每次申請10MB空間,直至內存佔用接近或等於80%為止。如下圖所示:

內存申請過程如下圖所示:

內存申請過程中佔用百分比變化為:35%,45%,56%,70%,…
mem_rate.py運行過程如下圖所示:

內存申請過程中佔用變化為:1461MB,1471MB,1481MB,1491MB。
此時如果內存佔用百分比設置為20%,則需要釋放一部分內存。
test.py腳本運行過程如下圖所示:
由於釋放內存運行較快,抓取到最後結果

內存佔用為20%。
mem_rate.py腳本運行過程如下圖所示:

內存釋放過程中內存佔用為:413MB,403MB,393MB,383MB,最後內存佔用穩定在20%,383MB。
輸入「q」或「Q」退出內存佔用百分比設定過程,如下圖所示:

此時內存佔用如下圖所示:

內存佔用恢復到運行mem_rate.py腳本之前狀態,17%,321MB。

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
附:完整Python腳本代碼
test.py
------------------------------------------------------------------------------------------------
#!/usr/bin/python2.6
def memory_stat():
mem = {}
f = open("/proc/meminfo")
lines = f.readlines()
f.close()
for line in lines:
if len(line)< 2:continue
name = line.split(':')[0]
var = line.split(':')[1].split()[0]
mem[name]= long(var)* 1024.0
mem['MemUsed']= mem['MemTotal']- mem['MemFree']
# - mem['Buffers']- mem['Cached']
return mem

mem=memory_stat()
print("Used(MB):%d"%(long(mem['MemUsed'])/1024/1024))
print("Rate:%d%%"%(100*long(mem['MemUsed'])/float(mem['MemTotal'])))

§§§§§§§§§§§§§§§§§§§§§§§§§§
mem_rate.py
---------------------------------------------------
#!/usr/bin/python2.6

from ctypes import *

# Get Memory Info(Total, Used... Byte)
def get_memory_stat():
mem = {}
f = open("/proc/meminfo")
lines = f.readlines()
f.close()
for line in lines:
if len(line)< 2:continue
name = line.split(':')[0]
var = line.split(':')[1].split()[0]
mem[name]= long(var)* 1024.0
mem['MemUsed']= mem['MemTotal']- mem['MemFree']
# Return MemroyInfo Object
return mem

# Get Simple Memory Info
def get_memory_info(mem):
# Byte -> MB
n=1024* 1024
used=float(mem['MemUsed'])/ n
total=float(mem['MemTotal'])/ n
rate=used/total* 100
smp={'used':used,'total':total,'rate':rate}
return smp

# Display Current Memory Info
def print_memory_info(mem):
# Get SimpleMemory Info
smp=get_memory_info(mem)
print("Used(MB):%d\tTotal(MB):%d\tUsedRate:%d%%"%(smp['used'], smp['total'], smp['rate']))

# Get Rate Of Memory Used To Be Setted(Integer Formate)
def input_memory_used_rate(org_rate):
# Byte -> MB
n=1024* 1024
while(True):
mem=get_memory_stat()
print_memory_info(mem)

input_str=raw_input("Input UsedMemory`s Rate or q to exit:")
if(len(input_str)== 0):
continue
if("q"== input_str):
info={'rate':0,'used':mem['MemUsed']/ n}
return info
if("Q"== input_str):
info={'rate':0,'used':mem['MemUsed']/ n}
return info
try:
rate=float(input_str)
if((rate>=org_rate)and (rate<=95)):
info={'rate':rate,'used':mem['MemUsed']/ n}
return info
else:
print("Please inputa valid number(%d%%~95%%)."%(org_rate))
except:
print("Please inputa valid number(%d%%~95%%)."%(org_rate))

# Set Rate Of Memory Used
def set_memory_used_rate(new_rate, total, pre_used,list):
if(new_rate==0):
return None
dest_mem=total* new_rate /100.0
# 10MB
mb10=10485760
n_chg=10
# Free Memory OrAllocate Memory ?
is_new=dest_mem>pre_used
cur_used=pre_used
while(True):
# To Calc FreeMemory Or Allocate Memory ?
need_new=dest_mem-n_chg>=pre_used
need_del=dest_mem+n_chg<=pre_used

# Need To AllocateMemory
if(is_new):
if(need_new):
p=create_string_buffer(mb10)
list.append(p)
dest_mem=dest_mem-n_chg
cur_used=cur_used+n_chg
else:
return"end"
# Need To FreeMemory
else:
idx=len(list)-1
if(need_deland (idx>=0)):
p=list[idx]
del list[idx]
p=None
dest_mem=dest_mem+n_chg
cur_used=cur_used-n_chg
else:
return"end"
print("****** MemoryUsed(MB):%d"%(cur_used))

# Entry Of Program

# List Of Memory Object, 10MB Of One Object
list=[]
# Get Current Memory Info
mem=get_memory_stat()
# Get Simple Memory Info
smp=get_memory_info(mem)
org_rate=smp['rate']
total=smp['total']

while(True):
# Get Rate OfMemory To Be Used
info=input_memory_used_rate(org_rate)
new_rate=float(info['rate'])
pre_used=float(info['used'])
# Set Rate OfMemory To Be Used
rtn=set_memory_used_rate(new_rate, total, pre_used, list)
if(not rtn):
print("bye!")
exit()

Ⅹ linux系統中怎麼才可以安裝python呀

去python官網根據Linux版本下載安裝包,再用rpm之類(不同的Linux版本包安裝管理工具不同)的安裝工具安裝就行了。

熱點內容
s21更新了安卓12怎麼降級 發布:2024-11-02 00:35:11 瀏覽:99
編程要軟體嗎 發布:2024-11-02 00:34:59 瀏覽:235
androidcursor遍歷 發布:2024-11-02 00:27:40 瀏覽:767
網易我的世界地皮伺服器大全 發布:2024-11-02 00:24:20 瀏覽:964
光宇國際服怎麼安卓轉ios 發布:2024-11-02 00:14:23 瀏覽:170
魔獸世界單機資料庫 發布:2024-11-01 23:37:11 瀏覽:698
配置vlan後如何配置電腦ip 發布:2024-11-01 23:21:16 瀏覽:546
中鐵盾構機密碼是多少 發布:2024-11-01 23:07:21 瀏覽:708
工規存儲 發布:2024-11-01 22:59:33 瀏覽:802
無法識別加密狗 發布:2024-11-01 22:47:03 瀏覽:599