python入門常用腳本,好用的Python腳本

本文目錄一覽:

小白入門:用什麼寫Python?

為初學者們介紹一下比較受歡迎且好用的工具。

一、最強終端:Upterm

本來想推薦fish或者zsh,但其實這兩個我也主要是貪圖自動補全這個特性。最近在用的這個 Upterm 其實很簡單好用,它是一個全平台的終端,可以說是終端里的 IDE,有著強大的自動補全功能。之前的名字叫 BlackWindow,有人跟他說這個名字不利於社區推廣,改名叫 Upterm 之後現在已經17000+ Star了。

二、互動式解釋器:Ptpython

一個互動式的 Python 解釋器。支持語法高亮、提示甚至是 vim 和 emacs 的鍵入模式。

三、包管理必備:Anaconda

強烈推薦Anaconda ,它能幫你安裝好許多麻煩的東西,包括: Python 環境、pip 包管理工具、常用的庫、配置好環境路徑等等。這些事情小白自己一個個去做的話,容易遇到各種問題,帶來挫敗感。如果你想用Python搞數據方面的事情,就安裝它就好了,它甚至開發了一套JIT的解釋器Numba。所以 Anaconda有了JIT之後,對線上科學計算效率要求比較高的東西也可以搞了。

四、編輯器:Sublime3

小白的話當然還是推薦從PyCharm開始上手,但有時候寫一些輕量的小腳本,就會想用輕量級一點的工具。Sublime3很多地方都有了極大的提升,並且用起來比原來還要簡單。配合安裝Anaconda或CodeIntel插件,可以讓 Sublime擁有近乎IDE的體驗。

五、前端在線編輯器:CodeSandbox

雖然這個不算是真正意義上的Python開發工具,但如果後端工程師想寫前端的話,這個在線編輯器太方便了,簡直是節省了後端工程師的生命啊!不用安裝npm的幾千個包了,它已經在雲端完成了,采讓你直接就可以上手寫代碼、看效果。對於 React、Vue這些主流前端框架都支持。算是一個推薦補充吧。

六、Python Tutor

Python Tutor 是由 Philip Guo 開發的一個免費教育工具,可幫助學生攻克編程學習中的基礎障礙,理解每一行源代碼在程序執行時在計算機中的過程。通過這個工具,教師或學生可以直接在 Web 瀏覽器中編寫 Python 代碼,並逐步可視化地運行程序。如果你不知道代碼在內存中是如何運行的,不妨把它拷貝到Tutor里可視化執行一遍,加深理解。

七、IPython

IPython 是一個 for Humans 的 Python 互動式 shell,用了它之後你就不想再用自帶的 Python shell 了,IPython 支持變數自動補全,自動縮進,支持 bash shell 命令,內置了許多實用功能和函數,同時它也是科學計算和交互可視化的最佳平台。

八、Jupyter Notebook

Jupyter Notebook 就像一個草稿本,能將文本注釋、數學方程、代碼和可視化內容全部組合到一個易於共享的文檔中,以 Web 頁面的方式展示。它是數據分析、機器學習的必備工具。

九、Anaconda

Python 雖好,可總是會遇到各種包管理和 Python 版本問題,特別是 Windows 平台很多包無法正常安裝,為了解決這些問題,Anoconda 出現了,Anoconda 包含了一個包管理工具和一個Python管理環境,同時附帶了一大批常用數據科學包,也是數據分析的標配。

十、Skulpt

Skulpt 是一個用 Java 實現的在線 Python 執行環境,它可以讓你輕鬆在瀏覽器中運行 Python 代碼。使用 skulpt 結合 CodeMirror 編輯器即可實現一個基本的在線Python編輯和運行環境。

以上推薦的十個Python開發工具,雖然都很好用,但是也不必全部都安裝,畢竟適合自己的才是最好的,大家可以根據自己的需求進行選擇。

python3.4的腳本如何用3.9執行

1、打開交互模式:交互模式下執行Python,這種模式下,無需創建腳本文件,直接在Python解釋器的交互模式下編寫對應的Python語句即可。

2、通過腳本輸出通過文本編輯器,編寫腳本文件,命名為hello.py,在命令行模式下輸入pythonhello.py即可。這種方式,要注意腳本文件所在路徑,如果當前工作路徑和腳本文件不在同一路徑下,則要進入腳本文件所在路徑,或者給出腳本文件的完整路徑。

3、在腳本文件中指定python程序所在路徑,修改文件為可執行文件,然後直接運行文件。

0基礎學習python怎麼入門呢?

鏈接:

提取碼:238d

零基礎學python課程。Python是目前最流行的動態腳本語言之一。本課程由淺入深,全面、系統地介紹了使用Python進行開發的各種知識和技巧。 包括Python環境的安裝和配置、Python的基本語法、模塊和函數、內置數據結構、字元串和文件的處理、正則表達式的使用、異常的捕獲和處理、面向對象的語言特性和設計、Python的資料庫編程、Tkinter GUI庫的使用、HTML應用、XML應用、Django網頁開發框架的使用、測試驅動開發模式應用、Python中的進程和線程、Python系統管理、網路編程、Python圖像處理、Python語言的擴展和嵌入以及Windows下Python開發等。

課程目錄:

python語言的特點

python的發展歷史與版本

python的安裝

python程序的書寫規則

基礎數據類型

變數的定義和常用操作

序列的概念

字元串的定義和使用

……

Python編程5種常用工具是什麼?

【導語】Python是一種開源的編程語言,可用於Web編程、數據科學、人工智慧以及許多科學應用,學習Python可以讓程序員專註於解決問題,而不是語法,由於Python擁有各式各樣的工具,因此更具優勢,在進行Python編程學習的時候,了解使用工具和編程基礎是主要的,那麼Python編程5種常用工具是什麼?一起來了解一下吧。

1、IDLE

在安裝Python時,默認也會安裝IDLE。這是最優秀的Python工具之一。它可以降低Python入門的門檻。它的主要功能包括Python

Shell窗口(互動式解釋器)、自動補齊、高亮顯示語法以及基本的集成調試器。IDLE輕巧易用,方便學習。但是,它不適用於大型項目。許多程序員都將其作為最佳的Python工具。

2、Scikit-learn

Scikit-learn是數據科學最常使用的Python工具之一。這是一款為機器學習和數據科學而設計的Python工具。該工具主要用於處理分類、回歸、聚類、模型選擇以及預處理等任務。scikit-Learn最出色的功能是在測試數據集上執行基準測試時,表現出的驚人速度。因此,對於程序員和學生來說,Scikit-learn是最優秀的Python工具之一。

3、Theano

Theano是一款數據科學的Python工具,對於程序員和學生而言,這是一款非常可靠的工具。它是深度學習方面最好的Python工具,因此非常適合深度學習。Theano的設計主旨是用戶友好、模塊化、易於擴展,而且可以與Python配合使用。它能夠以最佳方式表達神經網路。Theano可以在TensorFlow和CNTK等流行的神經網路之上運行。

4、Selenium

Selenium是最佳的Python自動化工具之一。它適用於Python測試的自動化,常常用作Web應用程序的自動化框架。我們可以利用Selenium,通過許多編程語言(包括Java、C#、Python、ruby以及其他許多程序員和學生使用的語言)來編寫測試腳本。你還可以在Selenium中集成Junit和TestNG等工具,來管理測試用例並生成報告。

5、Test complete

Testcomplete是另一款非常出色的Python自動化工具。支持Web、移動和桌面自動化測試。更高級的應用需要獲得商業許可,而且它還可以幫助學生提高學業成績。Test

complete還可以像機器人框架一樣執行關鍵字驅動的測試。它擁有最出色的錄製以及回放功能,非常實用。

關於Python編程常用工具,就給大家介紹到這裡了,以上的五種工具希望大家能夠好好利用,工具的使用必然能夠更好的簡化程序編寫,所以還是希望大家能夠不斷進行技能提升,加油!

python 運維常用腳本

Python 批量遍歷目錄文件,並修改訪問時間

import os

path = “D:/UASM64/include/”

dirs = os.listdir(path)

temp=[];

for file in dirs:

temp.append(os.path.join(path, file))

for x in temp:

os.utime(x, (1577808000, 1577808000))

Python 實現的自動化伺服器管理

import sys

import os

import paramiko

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

def ssh_cmd(user,passwd,port,userfile,cmd):

def ssh_put(user,passwd,source,target):

while True:

try:

shell=str(input(“[Shell] # “))

if (shell == “”):

continue

elif (shell == “exit”):

exit()

elif (shell == “put”):

ssh_put(“root”,”123123″,”./a.py”,”/root/a.py”)

elif (shell ==”cron”):

temp=input(“輸入一個計劃任務: “)

temp1=”(crontab -l; echo “+ temp + “) |crontab”

ssh_cmd(“root”,”123123″,”22″,”./user_ip.conf”,temp1)

elif (shell == “uncron”):

temp=input(“輸入要刪除的計劃任務: “)

temp1=”crontab -l | grep -v ” “+ temp + “|crontab”

ssh_cmd(“root”,”123123″,”22″,”./user_ip.conf”,temp1)

else:

ssh_cmd(“lyshark”,”123123″,”22″,”./user_ip.conf”,shell)

遍歷目錄和文件

import os

def list_all_files(rootdir):

import os

_files = []

list = os.listdir(rootdir) #列出文件夾下所有的目錄與文件

for i in range(0,len(list)):

path = os.path.join(rootdir,list[i])

if os.path.isdir(path):

_files.extend(list_all_files(path))

if os.path.isfile(path):

_files.append(path)

return _files

a=list_all_files(“C:/Users/LyShark/Desktop/a”)

print(a)

python檢測指定埠狀態

import socket

sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

sk.settimeout(1)

for ip in range(0,254):

try:

sk.connect((“192.168.1.”+str(ip),443))

print(“192.168.1.%d server open \n”%ip)

except Exception:

print(“192.168.1.%d server not open”%ip)

sk.close()

python實現批量執行CMD命令

import sys

import os

import paramiko

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

print(“——————————\n”)

print(“使用說明,在當前目錄創建ip.txt寫入ip地址”)

print(“——————————\n”)

user=input(“輸入用戶名:”)

passwd=input(“輸入密碼:”)

port=input(“輸入埠:”)

cmd=input(“輸入執行的命令:”)

file = open(“./ip.txt”, “r”)

line = file.readlines()

for i in range(len(line)):

print(“對IP: %s 執行”%line[i].strip(‘\n’))

python3-實現釘釘報警

import requests

import sys

import json

dingding_url = ‘ ‘

data = {“msgtype”: “markdown”,”markdown”: {“title”: “監控”,”text”: “apche異常”}}

headers = {‘Content-Type’:’application/json;charset=UTF-8′}

send_data = json.dumps(data).encode(‘utf-8’)

requests.post(url=dingding_url,data=send_data,headers=headers)

import psutil

import requests

import time

import os

import json

monitor_name = set([‘httpd’,’cobblerd’]) # 用戶指定監控的服務進程名稱

proc_dict = {}

proc_name = set() # 系統檢測的進程名稱

monitor_map = {

‘httpd’: ‘systemctl restart httpd’,

‘cobblerd’: ‘systemctl restart cobblerd’ # 系統在進程down掉後,自動重啟

}

dingding_url = ‘ ‘

while True:

for proc in psutil.process_iter(attrs=[‘pid’,’name’]):

proc_dict[proc.info[‘pid’]] = proc.info[‘name’]

proc_name.add(proc.info[‘name’])

判斷指定埠是否開放

import socket

port_number = [135,443,80]

for index in port_number:

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

result = sock.connect_ex((‘127.0.0.1’, index))

if result == 0:

print(“Port %d is open” % index)

else:

print(“Port %d is not open” % index)

sock.close()

判斷指定埠並且實現釘釘輪詢報警

import requests

import sys

import json

import socket

import time

def dingding(title,text):

dingding_url = ‘ ‘

data = {“msgtype”: “markdown”,”markdown”: {“title”: title,”text”: text}}

headers = {‘Content-Type’:’application/json;charset=UTF-8′}

send_data = json.dumps(data).encode(‘utf-8’)

requests.post(url=dingding_url,data=send_data,headers=headers)

def net_scan():

port_number = [80,135,443]

for index in port_number:

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

result = sock.connect_ex((‘127.0.0.1’, index))

if result == 0:

print(“Port %d is open” % index)

else:

return index

sock.close()

while True:

dingding(“Warning”,net_scan())

time.sleep(60)

python-實現SSH批量CMD執行命令

import sys

import os

import paramiko

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

def ssh_cmd(user,passwd,port,userfile,cmd):

file = open(userfile, “r”)

line = file.readlines()

for i in range(len(line)):

print(“對IP: %s 執行”%line[i].strip(‘\n’))

ssh.connect(hostname=line[i].strip(‘\n’),port=port,username=user,password=passwd)

cmd=cmd

stdin, stdout, stderr = ssh.exec_command(cmd)

result = stdout.read()

ssh_cmd(“lyshark”,”123″,”22″,”./ip.txt”,”free -h |grep ‘Mem:’ |awk ‘{print $3}'”)

用python寫一個列舉當前目錄以及所有子目錄下的文件,並列印出絕對路徑

import sys

import os

for root,dirs,files in os.walk(“C://”):

for name in files:

print(os.path.join(root,name))

os.walk()

按照這樣的日期格式(xxxx-xx-xx)每日生成一個文件,例如今天生成的文件為2013-09-23.log, 並且把磁碟的使用情況寫到到這個文件中。

import os

import sys

import time

new_time = time.strftime(“%Y-%m-%d”)

disk_status = os.popen(“df -h”).readlines()

str1 = ”.join(disk_status)

f = open(new_time+’.log’,’w’)

f.write(“%s”%str1)

f.flush()

f.close()

統計出每個IP的訪問量有多少?(從日誌文件中查找)

import sys

list = []

f = open(“/var/log/httpd/access_log”,”r”)

str1 = f.readlines()

f.close()

for i in str1:

ip=i.split()[0]

list.append(ip)

list_num=set(list)

for j in list_num:

num=list.count(j)

print(“%s —– %s” %(num,j))

寫個程序,接受用戶輸入數字,並進行校驗,非數字給出錯誤提示,然後重新等待用戶輸入。

import tab

import sys

while True:

try:

num=int(input(“輸入數字:”).strip())

for x in range(2,num+1):

for y in range(2,x):

if x % y == 0:

break

else:

print(x)

except ValueError:

print(“您輸入的不是數字”)

except KeyboardInterrupt:

sys.exit(“\n”)

ps 可以查看進程的內存佔用大小,寫一個腳本計算一下所有進程所佔用內存大小的和。

import sys

import os

list=[]

sum=0

str1=os.popen(“ps aux”,”r”).readlines()

for i in str1:

str2=i.split()

new_rss=str2[5]

list.append(new_rss)

for i in list[1:-1]:

num=int(i)

sum=sum+num

print(“%s — %s”%(list[0],sum))

關於Python 命令行參數argv

import sys

if len(sys.argv) 2:

print (“沒有輸入任何參數”)

sys.exit()

if sys.argv[1].startswith(“-“):

option = sys.argv[1][1:]

利用random生成6位數字加字母隨機驗證碼

import sys

import random

rand=[]

for x in range(6):

y=random.randrange(0,5)

if y == 2 or y == 4:

num=random.randrange(0,9)

rand.append(str(num))

else:

temp=random.randrange(65,91)

c=chr(temp)

rand.append(c)

result=””.join(rand)

print(result)

自動化-使用pexpect非交互登陸系統

import pexpect

import sys

ssh = pexpect.spawn(‘ssh lyshark@59.110.167.239’)

fout = file(‘sshlog.txt’, ‘w’)

ssh.logfile = fout

ssh.expect(“lyshark@59.110.167.239’s password:”)

ssh.sendline(“密碼”)

ssh.expect(‘#’)

ssh.sendline(‘ls /home’)

ssh.expect(‘#’)

Python-取系統時間

import sys

import time

time_str = time.strftime(“日期:%Y-%m-%d”,time.localtime())

print(time_str)

time_str= time.strftime(“時間:%H:%M”,time.localtime())

print(time_str)

psutil-獲取內存使用情況

import sys

import os

import psutil

memory_convent = 1024 * 1024

mem =psutil.virtual_memory()

print(“內存容量為:”+str(mem.total/(memory_convent))+”MB\n”)

print(“已使用內存:”+str(mem.used/(memory_convent))+”MB\n”)

print(“可用內存:”+str(mem.total/(memory_convent)-mem.used/(1024*1024))+”MB\n”)

print(“buffer容量:”+str(mem.buffers/( memory_convent ))+”MB\n”)

print(“cache容量:”+str(mem.cached/(memory_convent))+”MB\n”)

Python-通過SNMP協議監控CPU

注意:被監控的機器上需要支持snmp協議 yum install -y net-snmp*

import os

def getAllitems(host, oid):

sn1 = os.popen(‘snmpwalk -v 2c -c public ‘ + host + ‘ ‘ + oid + ‘|grep Raw|grep Cpu|grep -v Kernel’).read().split(‘\n’)[:-1]

return sn1

def getDate(host):

items = getAllitems(host, ‘.1.3.6.1.4.1.2021.11’)

if name == ‘ main ‘:

Python-通過SNMP協議監控系統負載

注意:被監控的機器上需要支持snmp協議 yum install -y net-snmp*

import os

import sys

def getAllitems(host, oid):

sn1 = os.popen(‘snmpwalk -v 2c -c public ‘ + host + ‘ ‘ + oid).read().split(‘\n’)

return sn1

def getload(host,loid):

load_oids = ‘1.3.6.1.4.1.2021.10.1.3.’ + str(loid)

return getAllitems(host,load_oids)[0].split(‘:’)[3]

if name == ‘ main ‘:

Python-通過SNMP協議監控內存

注意:被監控的機器上需要支持snmp協議 yum install -y net-snmp*

import os

def getAllitems(host, oid):

def getSwapTotal(host):

def getSwapUsed(host):

def getMemTotal(host):

def getMemUsed(host):

if name == ‘ main ‘:

Python-通過SNMP協議監控磁碟

注意:被監控的機器上需要支持snmp協議 yum install -y net-snmp*

import re

import os

def getAllitems(host,oid):

def getDate(source,newitem):

def getRealDate(item1,item2,listname):

def caculateDiskUsedRate(host):

if name == ‘ main ‘:

Python-通過SNMP協議監控網卡流量

注意:被監控的機器上需要支持snmp協議 yum install -y net-snmp*

import re

import os

def getAllitems(host,oid):

sn1 = os.popen(‘snmpwalk -v 2c -c public ‘ + host + ‘ ‘ + oid).read().split(‘\n’)[:-1]

return sn1

def getDevices(host):

device_mib = getAllitems(host,’RFC1213-MIB::ifDescr’)

device_list = []

def getDate(host,oid):

date_mib = getAllitems(host,oid)[1:]

date = []

if name == ‘ main ‘:

Python-實現多級菜單

import os

import sys

ps=”[None]-“

ip=[“192.168.1.1″,”192.168.1.2″,”192.168.1.3”]

flage=1

while True:

ps=”[None]-“

temp=input(ps)

if (temp==”test”):

print(“test page !!!!”)

elif(temp==”user”):

while (flage == 1):

ps=”[User]-“

temp1=input(ps)

if(temp1 ==”exit”):

flage=0

break

elif(temp1==”show”):

for i in range(len(ip)):

print(i)

Python實現一個沒用的東西

import sys

ps=”[root@localhost]# “

ip=[“192.168.1.1″,”192.168.1.2″,”192.168.1.3”]

while True:

temp=input(ps)

temp1=temp.split()

檢查各個進程讀寫的磁碟IO

import sys

import os

import time

import signal

import re

class DiskIO:

def init (self, pname=None, pid=None, reads=0, writes=0):

self.pname = pname

self.pid = pid

self.reads = 0

self.writes = 0

def main():

argc = len(sys.argv)

if argc != 1:

print (“usage: please run this script like [./lyshark.py]”)

sys.exit(0)

if os.getuid() != 0:

print (“Error: This script must be run as root”)

sys.exit(0)

signal.signal(signal.SIGINT, signal_handler)

os.system(‘echo 1 /proc/sys/vm/block_dump’)

print (“TASK PID READ WRITE”)

while True:

os.system(‘dmesg -c /tmp/diskio.log’)

l = []

f = open(‘/tmp/diskio.log’, ‘r’)

line = f.readline()

while line:

m = re.match(

‘^(\S+)(\d+)(\d+): (READ|WRITE) block (\d+) on (\S+)’, line)

if m != None:

if not l:

l.append(DiskIO(m.group(1), m.group(2)))

line = f.readline()

continue

found = False

for item in l:

if item.pid == m.group(2):

found = True

if m.group(3) == “READ”:

item.reads = item.reads + 1

elif m.group(3) == “WRITE”:

item.writes = item.writes + 1

if not found:

l.append(DiskIO(m.group(1), m.group(2)))

line = f.readline()

time.sleep(1)

for item in l:

print (“%-10s %10s %10d %10d” %

(item.pname, item.pid, item.reads, item.writes))

def signal_handler(signal, frame):

os.system(‘echo 0 /proc/sys/vm/block_dump’)

sys.exit(0)

if name ==” main “:

main()

利用Pexpect實現自動非交互登陸linux

import pexpect

import sys

ssh = pexpect.spawn(‘ssh root@59.110.167.239’)

fout = file(‘sshlog.log’, ‘w’)

ssh.logfile = fout

ssh.expect(“root@59.110.167.239’s password:”)

ssh.sendline(“密碼”)

ssh.expect(‘#’)

ssh.sendline(‘ls /home’)

ssh.expect(‘#’)

利用psutil模塊獲取系統的各種統計信息

import sys

import psutil

import time

import os

time_str = time.strftime( “%Y-%m-%d”, time.localtime( ) )

file_name = “./” + time_str + “.log”

if os.path.exists ( file_name ) == False :

os.mknod( file_name )

handle = open ( file_name , “w” )

else :

handle = open ( file_name , “a” )

if len( sys.argv ) == 1 :

print_type = 1

else :

print_type = 2

def isset ( list_arr , name ) :

if name in list_arr :

return True

else :

return False

print_str = “”;

if ( print_type == 1 ) or isset( sys.argv,”mem” ) :

memory_convent = 1024 * 1024

mem = psutil.virtual_memory()

print_str += ” 內存狀態如下:\n”

print_str = print_str + ” 系統的內存容量為: “+str( mem.total/( memory_convent ) ) + ” MB\n”

print_str = print_str + ” 系統的內存以使用容量為: “+str( mem.used/( memory_convent ) ) + ” MB\n”

print_str = print_str + ” 系統可用的內存容量為: “+str( mem.total/( memory_convent ) – mem.used/( 1024*1024 )) + “MB\n”

print_str = print_str + ” 內存的buffer容量為: “+str( mem.buffers/( memory_convent ) ) + ” MB\n”

print_str = print_str + ” 內存的cache容量為:” +str( mem.cached/( memory_convent ) ) + ” MB\n”

if ( print_type == 1 ) or isset( sys.argv,”cpu” ) :

print_str += ” CPU狀態如下:\n”

cpu_status = psutil.cpu_times()

print_str = print_str + ” user = ” + str( cpu_status.user ) + “\n”

print_str = print_str + ” nice = ” + str( cpu_status.nice ) + “\n”

print_str = print_str + ” system = ” + str( cpu_status.system ) + “\n”

print_str = print_str + ” idle = ” + str ( cpu_status.idle ) + “\n”

print_str = print_str + ” iowait = ” + str ( cpu_status.iowait ) + “\n”

print_str = print_str + ” irq = ” + str( cpu_status.irq ) + “\n”

print_str = print_str + ” softirq = ” + str ( cpu_status.softirq ) + “\n”

print_str = print_str + ” steal = ” + str ( cpu_status.steal ) + “\n”

print_str = print_str + ” guest = ” + str ( cpu_status.guest ) + “\n”

if ( print_type == 1 ) or isset ( sys.argv,”disk” ) :

print_str += ” 硬碟信息如下:\n”

disk_status = psutil.disk_partitions()

for item in disk_status :

print_str = print_str + ” “+ str( item ) + “\n”

if ( print_type == 1 ) or isset ( sys.argv,”user” ) :

print_str += ” 登錄用戶信息如下:\n “

user_status = psutil.users()

for item in user_status :

print_str = print_str + ” “+ str( item ) + “\n”

print_str += “—————————————————————\n”

print ( print_str )

handle.write( print_str )

handle.close()

import psutil

mem = psutil.virtual_memory()

print mem.total,mem.used,mem

print psutil.swap_memory() # 輸出獲取SWAP分區信息

cpu = psutil.cpu_stats()

printcpu.interrupts,cpu.ctx_switches

psutil.cpu_times(percpu=True) # 輸出每個核心的詳細CPU信息

psutil.cpu_times().user # 獲取CPU的單項數據 [用戶態CPU的數據]

psutil.cpu_count() # 獲取CPU邏輯核心數,默認logical=True

psutil.cpu_count(logical=False) # 獲取CPU物理核心數

psutil.disk_partitions() # 列出全部的分區信息

psutil.disk_usage(‘/’) # 顯示出指定的掛載點情況【位元組為單位】

psutil.disk_io_counters() # 磁碟總的IO個數

psutil.disk_io_counters(perdisk=True) # 獲取單個分區IO個數

psutil.net_io_counter() 獲取網路總的IO,默認參數pernic=False

psutil.net_io_counter(pernic=Ture)獲取網路各個網卡的IO

psutil.pids() # 列出所有進程的pid號

p = psutil.Process(2047)

p.name() 列出進程名稱

p.exe() 列出進程bin路徑

p.cwd() 列出進程工作目錄的絕對路徑

p.status()進程當前狀態[sleep等狀態]

p.create_time() 進程創建的時間 [時間戳格式]

p.uids()

p.gids()

p.cputimes() 【進程的CPU時間,包括用戶態、內核態】

p.cpu_affinity() # 顯示CPU親緣關係

p.memory_percent() 進程內存利用率

p.meminfo() 進程的RSS、VMS信息

p.io_counters() 進程IO信息,包括讀寫IO數及位元組數

p.connections() 返回打開進程socket的namedutples列表

p.num_threads() 進程打開的線程數

import psutil

from subprocess import PIPE

p =psutil.Popen([“/usr/bin/python” ,”-c”,”print ‘helloworld'”],stdout=PIPE)

p.name()

p.username()

p.communicate()

p.cpu_times()

psutil.users() # 顯示當前登錄的用戶,和Linux的who命令差不多

psutil.boot_time() 結果是個UNIX時間戳,下面我們來轉換它為標準時間格式,如下:

datetime.datetime.fromtimestamp(psutil.boot_time()) # 得出的結果不是str格式,繼續進行轉換 datetime.datetime.fromtimestamp(psutil.boot_time()).strftime(‘%Y-%m-%d%H:%M:%S’)

Python生成一個隨機密碼

import random, string

def GenPassword(length):

if name == ‘ main ‘:

print (GenPassword(6))

Python 如何寫腳本?

Python寫腳本步驟如下:

1、首先下載安裝python,建議安裝2.7版本以上。

2、打開文本編輯器,推薦editplus,notepad等,將文件保存成 .py格式,editplus和notepad支持識別python語法。腳本第一行一定要寫上 #!usr/bin/python,表示該腳本文件是可執行python腳本,如果您的python目錄不在usr/bin目錄下,則替換成當前python執行程序的目錄。

3、編寫完腳本之後注意調試、可以直接用editplus調試。調試方法可自行百度。腳本寫完之後,打開CMD命令行,前提是python 已經被加入到環境變數中。

4、在CMD命令行中,輸入 「python」 + 「空格」,即 」python 「;將已經寫好的腳本文件拖拽到當前游標位置,然後敲回車運行即可。

原創文章,作者:CRPO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/141926.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
CRPO的頭像CRPO
上一篇 2024-10-09 09:53
下一篇 2024-10-09 09:53

相關推薦

  • Python wordcloud入門指南

    如何在Python中使用wordcloud庫生成文字雲? 一、安裝和導入wordcloud庫 在使用wordcloud前,需要保證庫已經安裝並導入: !pip install wo…

    編程 2025-04-29
  • Python腳本控制其他軟體

    Python作為一種簡單易學、功能強大的腳本語言,具有廣泛的應用領域,在自動化測試、Web開發、數據挖掘等領域都得到了廣泛的應用。其中,Python腳本控制其他軟體也是Python…

    編程 2025-04-29
  • Python小波分解入門指南

    本文將介紹Python小波分解的概念、基本原理和實現方法,幫助初學者掌握相關技能。 一、小波變換概述 小波分解是一種廣泛應用於數字信號處理和圖像處理的方法,可以將信號分解成多個具有…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字元命令行的語言…

    編程 2025-04-29
  • Python豎線圖:從入門到精通

    Python豎線圖,即Python的繪圖工具matplotlib中的一種圖形類型,具有直觀、易於理解的特點,適用於各種數據分析和可視化場景。本文從初學者角度出發,介紹Python豎…

    編程 2025-04-29
  • Python爬取數據指南-從入門到精通

    Python爬蟲是指用Python編寫程序,自動化地獲取網路上的信息,並進行處理、分析和存儲。以下是Python爬取數據的指南,從入門到精通。 一、獲取網頁數據 Python爬蟲的…

    編程 2025-04-29
  • Python序列的常用操作

    Python序列是程序中的重要工具,在數據分析、機器學習、圖像處理等很多領域都有廣泛的應用。Python序列分為三種:列表(list)、元組(tuple)和字元串(string)。…

    編程 2025-04-28
  • Python自學多久能入門?

    Python是一門極具優勢的編程語言,無論在人工智慧、數據分析、Web開發等領域都有廣泛的應用,所以越來越多的人開始學習Python。但是對於初學者來說,Python自學多久能入門…

    編程 2025-04-28
  • Python導出微信群聊天記錄:從入門到實踐

    微信群聊是我們日常生活中與家人、朋友聊天交流的重要平台。但是,當備份和查看微信群聊的聊天記錄時,我們常常會遇到各種問題。這時,我們可以使用Python對微信群聊天記錄進行導出、備份…

    編程 2025-04-28

發表回復

登錄後才能評論