最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在python3中使用Supervisor的詳細(xì)教程

 更新時間:2022年01月20日 14:40:07   作者:唐僧不愛八戒  
Supervisor是用Python開發(fā)的一個client/server服務(wù),是Linux/Unix系統(tǒng)下的一個進(jìn)程管理工具,不支持Windows系統(tǒng),本文給大家介紹在python3中使用Supervisor的方法,感興趣的朋友一起看看吧

supervisor介紹

首先,介紹一下supervisor。Supervisor(http://supervisord.org)是用Python開發(fā)的一個client/server服務(wù),是Linux/Unix系統(tǒng)下的一個進(jìn)程管理工具,不支持Windows系統(tǒng)。它可以很方便的監(jiān)聽、啟動、停止、重啟一個或多個進(jìn)程。用Supervisor管理的進(jìn)程,當(dāng)一個進(jìn)程意外被殺死,supervisort監(jiān)聽到進(jìn)程死后,會自動將它重新拉起,很方便的做到進(jìn)程自動恢復(fù)的功能,不再需要自己寫shell腳本來控制
環(huán)境:centos7.4

安裝supervisor

pip install supervisor

因?yàn)槭莗ython開發(fā)的一個庫,可以直接用pip來安裝,很方便。
supervisor安裝完成后會生成三個執(zhí)行程序:supervisortd、supervisorctl、echo_supervisord_conf,分別是supervisor的守護(hù)進(jìn)程服務(wù)(用于接收進(jìn)程管理命令)、客戶端(用于和守護(hù)進(jìn)程通信,發(fā)送管理進(jìn)程的指令)、生成初始配置文件程序。

設(shè)置環(huán)境變量

$ vim ~/.bash_profile
#在后面補(bǔ)充: 
PATH=$PATH:$HOME/bin:/usr/local/python/bin
$ source ~/.bash_profile

配置supervisor

創(chuàng)建目錄,初始化配置文件

mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf

主配置文件參數(shù)

[unix_http_server]
file=/tmp/supervisor.sock   ; UNIX socket 文件,supervisorctl 會使用
;chmod=0700                 ; socket 文件的 mode,默認(rèn)是 0700
;chown=nobody:nogroup       ; socket 文件的 owner,格式: uid:gid
  
;[inet_http_server]         ; HTTP 服務(wù)器,提供 web 管理界面
;port=127.0.0.1:9001        ; Web 管理后臺運(yùn)行的 IP 和端口,如果開放到公網(wǎng),需要注意安全性
;username=user              ; 登錄管理后臺的用戶名
;password=123               ; 登錄管理后臺的密碼
  
[supervisord]
logfile=/tmp/supervisord.log ; 日志文件,默認(rèn)是 $CWD/supervisord.log
logfile_maxbytes=50MB        ; 日志文件大小,超出會 rotate,默認(rèn) 50MB
logfile_backups=10           ; 日志文件保留備份數(shù)量默認(rèn) 10
loglevel=info                ; 日志級別,默認(rèn) info,其它: debug,warn,trace
pidfile=/tmp/supervisord.pid ; pid 文件
nodaemon=false               ; 是否在前臺啟動,默認(rèn)是 false,即以 daemon 的方式啟動
minfds=1024                  ; 可以打開的文件描述符的最小值,默認(rèn) 1024
minprocs=200                 ; 可以打開的進(jìn)程數(shù)的最小值,默認(rèn) 200
  
; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
  
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; 通過 UNIX socket 連接 supervisord,路徑與 unix_http_server 部分的 file 一致
;serverurl=http://127.0.0.1:9001 ; 通過 HTTP 的方式連接 supervisord
  
; 包含其他的配置文件
[include]
files = relative/directory/*.ini    ; 可以是 *.conf 或 *.ini

管理一個進(jìn)程

把所有被管理的進(jìn)程配置文件都放在同一個目錄,主配置文件包含進(jìn)去。

mkdir /etc/supervisor/config.d
vim /etc/supervisor/supervisord.conf
[include]
files = /etc/supervisor/config.d/*.conf

新建一個配置文件

[program:sougou]   #souogu 為程序的名稱
command=scrapy crawl sougou #需要執(zhí)行的命令
directory=/home/mzj/桌面/sougou/sougou/wechat_name/wechat_name/spiders  #命令執(zhí)行的目錄
environment=ASPNETCORE__ENVIRONMENT=Production #環(huán)境變量
user=root #用戶
stopsignal=INT
autostart=true #是否自啟動
autorestart=true #是否自動重啟
startsecs=3 #自動重啟時間間隔(s)
stderr_logfile=/home/mzj/桌面/sougou/sougou/wechat_name/wechat_name/spiders/ossoffical.err.log #錯誤日志文件
stdout_logfile=/home/mzj/桌面/sougou/sougou/wechat_name/wechat_name/spiders/ossoffical.out.log #輸出日志文件
[program:nginx]
command = /usr/local/nginx/sbin/nginx -g 'daemon off;'
startsecs = 3
autostart = true
autorestart = true 
user = root
stdout_logfile = /etc/supervisor/logs/supervisord-nginx.log
stderr_logfile = /etc/supervisor/logs/supervisord-nginx-error.log

剛開始有個坑,command = /usr/local/nginx/sbin/nginx 我是這樣寫的 結(jié)果就一直啟動nginx 因?yàn)檫@樣的話 是后臺運(yùn)行的nginx,然而supervisor 不能管理后臺運(yùn)行進(jìn)程,所以把nginx daemon off 守護(hù)關(guān)掉,就讓他阻塞在前臺bash運(yùn)行,方便supervisor來管理。

supervisor配置文件詳解

  • command:啟動程序使用的命令,可以是絕對路徑或者相對路徑
  • process_name:一個python字符串表達(dá)式,用來表示supervisor進(jìn)程啟動的這個的名稱,默認(rèn)值是%(program_name)s
  • numprocs:Supervisor啟動這個程序的多個實(shí)例,如果numprocs>1,則process_name的表達(dá)式必須包含%(process_num)s,默認(rèn)是1
  • numprocs_start:一個int偏移值,當(dāng)啟動實(shí)例的時候用來計算numprocs的值
  • priority:權(quán)重,可以控制程序啟動和關(guān)閉時的順序,權(quán)重越低:越早啟動,越晚關(guān)閉。默認(rèn)值是999
  • autostart:如果設(shè)置為true,當(dāng)supervisord啟動的時候,進(jìn)程會自動重啟。
  • autorestart:值可以是false、true、unexpected。false:進(jìn)程不會自動重啟,unexpected:當(dāng)程序退出時的退出碼不是exitcodes中定義的時,進(jìn)程會重啟,true:進(jìn)程會無條件重啟當(dāng)退出的時候。
  • startsecs:程序啟動后等待多長時間后才認(rèn)為程序啟動成功
  • startretries:supervisord嘗試啟動一個程序時嘗試的次數(shù)。默認(rèn)是3
  • exitcodes:一個預(yù)期的退出返回碼,默認(rèn)是0,2。
  • stopsignal:當(dāng)收到stop請求的時候,發(fā)送信號給程序,默認(rèn)是TERM信號,也可以是 HUP, INT, QUIT, KILL, USR1, or USR2。
  • stopwaitsecs:在操作系統(tǒng)給supervisord發(fā)送SIGCHILD信號時等待的時間
  • stopasgroup:如果設(shè)置為true,則會使supervisor發(fā)送停止信號到整個進(jìn)程組
  • killasgroup:如果設(shè)置為true,則在給程序發(fā)送SIGKILL信號的時候,會發(fā)送到整個進(jìn)程組,它的子進(jìn)程也會受到影響。
  • user:如果supervisord以root運(yùn)行,則會使用這個設(shè)置用戶啟動子程序
  • redirect_stderr:如果設(shè)置為true,進(jìn)程則會把標(biāo)準(zhǔn)錯誤輸出到supervisord后臺的標(biāo)準(zhǔn)輸出文件描述符。
  • stdout_logfile:把進(jìn)程的標(biāo)準(zhǔn)輸出寫入文件中,如果stdout_logfile沒有設(shè)置或者設(shè)置為AUTO,則supervisor會自動選擇一個文件位置。
  • stdout_logfile_maxbytes:標(biāo)準(zhǔn)輸出log文件達(dá)到多少后自動進(jìn)行輪轉(zhuǎn),單位是KB、MB、GB。如果設(shè)置為0則表示不限制日志文件大小
  • stdout_logfile_backups:標(biāo)準(zhǔn)輸出日志輪轉(zhuǎn)備份的數(shù)量,默認(rèn)是10,如果設(shè)置為0,則不備份
  • stdout_capture_maxbytes:當(dāng)進(jìn)程處于stderr capture mode模式的時候,寫入FIFO隊(duì)列的最大bytes值,單位可以是KB、MB、GB
  • stdout_events_enabled:如果設(shè)置為true,當(dāng)進(jìn)程在寫它的stderr到文件描述符的時候,PROCESS_LOG_STDERR事件會被觸發(fā)
  • stderr_logfile:把進(jìn)程的錯誤日志輸出一個文件中,除非redirect_stderr參數(shù)被設(shè)置為true
  • stderr_logfile_maxbytes:錯誤log文件達(dá)到多少后自動進(jìn)行輪轉(zhuǎn),單位是KB、MB、GB。如果設(shè)置為0則表示不限制日志文件大小
  • stderr_logfile_backups:錯誤日志輪轉(zhuǎn)備份的數(shù)量,默認(rèn)是10,如果設(shè)置為0,則不備份
  • stderr_capture_maxbytes:當(dāng)進(jìn)程處于stderr capture mode模式的時候,寫入FIFO隊(duì)列的最大bytes值,單位可以是KB、MB、GB
  • stderr_events_enabled:如果設(shè)置為true,當(dāng)進(jìn)程在寫它的stderr到文件描述符的時候,PROCESS_LOG_STDERR事件會被觸發(fā)
  • environment:一個k/v對的list列表
  • directory:supervisord在生成子進(jìn)程的時候會切換到該目錄
  • umask:設(shè)置進(jìn)程的umask
  • serverurl:是否允許子進(jìn)程和內(nèi)部的HTTP服務(wù)通訊,如果設(shè)置為AUTO,supervisor會自動的構(gòu)造一個url

啟動supervisor

supervisord -c /etc/supervisor/supervisord.conf

有時候kill進(jìn)程之后需要釋放連接

unlink /tmp/supervisor.sock

web界面管理 開啟web訪問

vi /etc/supervisor/supervisord.conf
[inet_http_server]        
port=0.0.0.0:9001       
username=user            
password=123

web頁面

此處需要注意將 [inet_http_server] 前邊的注釋也要去掉

supervisorctl的用法

  • supervisord : 啟動supervisor
  • supervisorctl reload :修改完配置文件后重新啟動supervisor
  • supervisorctl status :查看supervisor監(jiān)管的進(jìn)程狀態(tài)
  • supervisorctl start 進(jìn)程名 :啟動XXX進(jìn)程
  • supervisorctl stop 進(jìn)程名 :停止XXX進(jìn)程
  • supervisorctl stop all:停止全部進(jìn)程,注:start、restart、stop都不會載入最新的配置文件。
  • supervisorctl update:根據(jù)最新的配置文件,啟動新配置或有改動的進(jìn)程,配置沒有改動的進(jìn)程不會受影響而重啟

superlance介紹

superlance就是基于supervisor的事件機(jī)制實(shí)現(xiàn)的一系列命令行的工具集,它實(shí)現(xiàn)了許多supervisor本身沒有實(shí)現(xiàn)的實(shí)用的進(jìn)程監(jiān)控和管理的特性,包括內(nèi)存監(jiān)控,http接口監(jiān)控,郵件和短信通知機(jī)制等。同樣的,superlance本身也是使用python編寫的
superlance的組件
superlance是一系列命令行工具的集合,其包括以下這些命令:

  • httpok 通過定時對一個HTTP接口進(jìn)行GET請求,根據(jù)請求是否成功來判定一個進(jìn)程是否處于正常狀態(tài),如果不正常則對進(jìn)程進(jìn)行重啟。
  • crashmail 當(dāng)一個進(jìn)程意外退出時,發(fā)送郵件告警。
  • memmon 當(dāng)一個進(jìn)程的內(nèi)存占用超過了設(shè)定閾值時,發(fā)送郵件告警。
  • crashmailbatch 類似于crashmail的告警,但是一段時間內(nèi)的郵件將會被合成起來發(fā)送,以避免郵件轟炸。
  • fatalmailbatch 當(dāng)一個進(jìn)程沒有成功啟動多次后會進(jìn)入FATAL狀態(tài),此時發(fā)送郵件告警。與crashmailbatch一樣會進(jìn)行合成報警。
  • crashsms 當(dāng)一個進(jìn)程意外退出時發(fā)送短信告警,這個短信也是通過email網(wǎng)關(guān)來發(fā)送的。

1、當(dāng)supervisord啟動的時候,如果我們的listener配置為autostart=true的話,listener就會作為supervisor的子進(jìn)程被啟動。
2、listener被啟動之后,會向自己的stdout寫一個"READY"的消息,此時父進(jìn)程也就是supervisord讀取到這條消息后,會認(rèn)為listener處于就緒狀態(tài)。
3、listener處于就緒狀態(tài)后,當(dāng)supervisord產(chǎn)生的event在listener的配置的可接受的events中時,supervisord就會把該event發(fā)送給該listener。
4、listener接收到event后,我們就可以根據(jù)event的head,body里面的數(shù)據(jù),做一系列的處理了。我們根據(jù)event的內(nèi)容,判斷,提取,報警等等操作。
5、該干的活都干完之后,listener需要向自己的stdout寫一個消息"RESULTnOK",supervisord接受到這條消息后。就知道listener處理event完畢了。

Supervisord支持的Event

  • PROCESS_STATE 進(jìn)程狀態(tài)發(fā)生改變
  • PROCESS_STATE_STARTING
  • 進(jìn)程狀態(tài)從其他狀態(tài)轉(zhuǎn)換為正在啟動(Supervisord的配置項(xiàng)中有startsecs配置項(xiàng),
  • 是指程序啟動時需要程序至少穩(wěn)定運(yùn)行x秒才認(rèn)為程序運(yùn)行正常,在這x秒中程序狀態(tài)為正在啟動)
  • PROCESS_STATE_RUNNING 進(jìn)程狀態(tài)由正在啟動轉(zhuǎn)換為正在運(yùn)行
  • PROCESS_STATE_BACKOFF 進(jìn)程狀態(tài)由正在啟動轉(zhuǎn)換為失敗
  • PROCESS_STATE_STOPPING 進(jìn)程狀態(tài)由正在運(yùn)行轉(zhuǎn)換為正在停止
  • PROCESS_STATE_EXITED 進(jìn)程狀態(tài)由正在運(yùn)行轉(zhuǎn)換為退出
  • PROCESS_STATE_STOPPED進(jìn)程狀態(tài)由正在停止轉(zhuǎn)換為已經(jīng)停止(exited和stopped的區(qū)別是exited是程序自行退出,而stopped為人為控制其退出)
  • PROCESS_STATE_FATAL 進(jìn)程狀態(tài)由正在運(yùn)行轉(zhuǎn)換為失敗
  • PROCESS_STATE_UNKNOWN 未知的進(jìn)程狀態(tài)
  • REMOTE_COMMUNICATION 使用Supervisord的RPC接口與Supervisord進(jìn)行通信
  • PROCESS_LOG 進(jìn)程產(chǎn)生日志輸出,包括標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出
  • PROCESS_LOG_STDOUT 進(jìn)程產(chǎn)生標(biāo)準(zhǔn)輸出
  • PROCESS_LOG_STDERR 進(jìn)程產(chǎn)生標(biāo)準(zhǔn)錯誤輸出
  • PROCESS_COMMUNICATION 進(jìn)程的日志輸出包含 和
  • PROCESS_COMMUNICATION_STDOUT 進(jìn)程的標(biāo)準(zhǔn)輸出包含 和
  • PROCESS_COMMUNICATION_STDERR進(jìn)程的標(biāo)準(zhǔn)錯誤輸出包含 和
  • SUPERVISOR_STATE_CHANGE_RUNNING Supervisord 啟動
  • SUPERVISOR_STATE_CHANGE_STOPPING Supervisord 停止
  • TICK_5 每隔5秒觸發(fā)
  • TICK_60 每隔60秒觸發(fā)
  • TICK_3600 每隔3600觸發(fā)
  • PROCESS_GROUP Supervisord的進(jìn)程組發(fā)生變化
  • PROCESS_GROUP_ADDED 新增了Supervisord的進(jìn)程組
  • PROCESS_GROUP_REMOVED 刪除了Supervisord的進(jìn)程組

安裝superlance

也是python程序,直接pip 安裝

pip install superlance

superlance實(shí)戰(zhàn)

在實(shí)際配置supervisor使用superlance之前,首先要安裝sendmail,superlance使用這個命令行工具來發(fā)送email,利用各種包管理工具都可以簡單的安裝:

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar zxvf sendEmail-v1.56.tar.gz
cp sendEmail-v1.56/sendEmail /usr/bin/sendemail

發(fā)郵件測試一下

sendemail -f 發(fā)件人郵箱 -t 收件人郵箱 -s 發(fā)件人郵箱smtp服務(wù)器 -u "sendEmail" -m "haha" -xu 發(fā)件人郵箱 -xp 發(fā)件人郵箱密碼 
 
-f 發(fā)件人
-t 收件人
-s 發(fā)件人smtp服務(wù)器
-u 主題
-m 內(nèi)容
-xu 發(fā)件人用戶名
-xp 發(fā)件人密碼

現(xiàn)在要做的就是配置一個supervisor配置文件,來一直監(jiān)聽進(jìn)程的狀態(tài)變化

[eventlistener:crashmail]
command=crashmail -a -s "sendemail -f dataalarm@wjoyxt.com -t alarm@wjoyxt.com -s smtp.mxhichina.com -u 'Process is crashed' -xu dataalarm@wjoyxt.com -xp Bigdata@2019@ -m >/dev/null 2>&1" -m alarm@wjoyxt.com
events=PROCESS_STATE_EXITED
redirect_stderr=false

[eventlistener:crashmail]
command=crashmail -a -s "mail -s 'Process is crashed' alarm@wjoyxt.com" -m alarm@wjoyxt.com
events=PROCESS_STATE_EXITED
redirect_stderr=false

command參數(shù)中 -p 參數(shù)配置了crashmail只會對名為redis的監(jiān)控項(xiàng)作出響應(yīng),而 -m 參數(shù)中則配置了崩潰郵件會被發(fā)送到的地址,-a 監(jiān)控所有項(xiàng)

crashmail是一個主管“事件監(jiān)聽器”,用于訂閱PROCESS_STATE_EXITED事件。當(dāng)crashmail 收到該事件并且轉(zhuǎn)換是"意外的(not expected)"時,crashmail 會將電子郵件通知發(fā)送到已配置的地址

events=PROCESS_STATE_EXITED,PROCESS_STATE_STOPPED,PROCESS_STATE_FATAL,PROCESS_LOG_STDERR 多個事件時,用逗號隔開

PROCESS_STATE_EXITED是在一個supervisor的監(jiān)控項(xiàng)對應(yīng)的進(jìn)程意外退出時會觸發(fā)的事件,這就使得一個進(jìn)程出現(xiàn)意外退出的情況下會通知到crashmail。

crashmail.py [-p processname] [-a] [-o string] [-m mail_address]
             [-s sendmail]網(wǎng)址
選項(xiàng):
-p  - 指定supervisor process_name。這個過程發(fā)送郵件
      意外地轉(zhuǎn)換到EXITED狀態(tài)。如果這個過程是
      組的一部分,可以使用
      'process_name:group_name'語法。
-a  - 當(dāng)supervisord的任何孩子過渡時發(fā)送郵件
      出人意料地意外地離開了EXITED狀態(tài)。覆蓋任何-p
      在同一個crashmail進(jìn)程調(diào)用中傳遞的參數(shù)。
-o  - 指定用作郵件主題標(biāo)題中前綴的參數(shù)。
-s  - 用于發(fā)送電子郵件的sendmail命令
      (例如“ / usr / sbin / sendmail - t - i ”)。必須是接受的命令
      stdin上的頭和消息數(shù)據(jù)并發(fā)送郵件。默認(rèn)是
      “ / usr / sbin / sendmail - t - i ”。
-m  - 指定電子郵件地址。該腳本將向此發(fā)送郵件
      crashmail檢測到進(jìn)程崩潰時的地址。如果沒有電子郵件
      如果指定了地址,則不會發(fā)送電子郵件。
可以多次指定-p選項(xiàng),允許
多個過程的規(guī)范。指定-a會覆蓋任何
選擇-p。
示例調(diào)用:
crashmail.py -p program1 -p group1:program2 -m dev@example.com

添加好一個進(jìn)程配置文件后

supervisorctl reload

重啟一下

整體示例代碼

[program:eacloud]
command=/root/python/bin/uwsgi --ini uwsgi.ini ; 程序啟動命令
directory=/root/tyy
autostart=true       ; 在supervisord啟動的時候也自動啟動
startsecs=10         ; 啟動10秒后沒有異常退出,就表示進(jìn)程正常啟動了,默認(rèn)為1秒
autorestart=true     ; 程序退出后自動重啟,可選值:[unexpected,true,false],默認(rèn)為unexpected,表示進(jìn)程意外殺死后才重啟
startretries=3       ; 啟動失敗自動重試次數(shù),默認(rèn)是3
user=root            ; 用哪個用戶啟動進(jìn)程,默認(rèn)是root
priority=999         ; 進(jìn)程啟動優(yōu)先級,默認(rèn)999,值小的優(yōu)先啟動
redirect_stderr=true ; 把stderr重定向到stdout,默認(rèn)false
stdout_logfile_maxbytes=20MB  ; stdout 日志文件大小,默認(rèn)50MB
stdout_logfile_backups = 20   ; stdout 日志文件備份數(shù),默認(rèn)是10
; stdout 日志文件,需要注意當(dāng)指定目錄不存在時無法正常啟動,所以需要手動創(chuàng)建目錄(supervisord 會自動創(chuàng)建日志文件)
stdout_logfile=/root/tyy/eacloud.log
stopasgroup=false     ;默認(rèn)為false,進(jìn)程被殺死時,是否向這個進(jìn)程組發(fā)送stop信號,包括子進(jìn)程
killasgroup=false     ;默認(rèn)為false,向進(jìn)程組發(fā)送kill信號,包括子進(jìn)程
[eventlistener:crashmail-exited]
command=/root/python/bin/crashmail -p eacloud -m 1524701427@qq.com
events=PROCESS_STATE
redirect_stderr=false

到此這篇關(guān)于在python3中使用Supervisor的文章就介紹到這了,更多相關(guān)python使用Supervisor內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用文件鎖實(shí)現(xiàn)進(jìn)程間同步功能【基于fcntl模塊】

    Python使用文件鎖實(shí)現(xiàn)進(jìn)程間同步功能【基于fcntl模塊】

    這篇文章主要介紹了Python使用文件鎖實(shí)現(xiàn)進(jìn)程間同步功能,結(jié)合實(shí)例形式分析了Python基于fcntl模塊文件鎖功能實(shí)現(xiàn)進(jìn)程間同步的相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • python語言基本語句用法總結(jié)

    python語言基本語句用法總結(jié)

    在本篇文章里小編給大家整理了關(guān)于python語言基本語句的相關(guān)知識點(diǎn)以及實(shí)例代碼,需要的朋友們參考下。
    2019-06-06
  • 如何使用OpenCV實(shí)現(xiàn)手勢音量控制

    如何使用OpenCV實(shí)現(xiàn)手勢音量控制

    今天來學(xué)習(xí)一下如何使用OpenCV實(shí)現(xiàn)手勢音量控制,本次實(shí)驗(yàn)需要使用OpenCV和mediapipe庫進(jìn)行手勢識別,并利用手勢距離控制電腦音量,感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • Python調(diào)用另一個py文件并傳遞參數(shù)常見的方法及其應(yīng)用場景

    Python調(diào)用另一個py文件并傳遞參數(shù)常見的方法及其應(yīng)用場景

    這篇文章主要介紹了在Python中調(diào)用另一個py文件并傳遞參數(shù)的幾種常見方法,包括使用import語句、exec函數(shù)、subprocess模塊、os.system函數(shù)以及argparse模塊,每種方法都有其適用場景和優(yōu)缺點(diǎn),需要的朋友可以參考下
    2025-01-01
  • 淺析PyTorch中nn.Module的使用

    淺析PyTorch中nn.Module的使用

    這篇文章主要介紹了淺析PyTorch中nn.Module的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Anaconda(miniconda)入門使用完全指南

    Anaconda(miniconda)入門使用完全指南

    Conda是一個管理版本和Python環(huán)境的工具,它使用起來非常容易,下面這篇文章主要給大家介紹了關(guān)于Anaconda(miniconda)入門使用的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • 對pandas進(jìn)行數(shù)據(jù)預(yù)處理的實(shí)例講解

    對pandas進(jìn)行數(shù)據(jù)預(yù)處理的實(shí)例講解

    下面小編就為大家分享一篇對pandas進(jìn)行數(shù)據(jù)預(yù)處理的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python開發(fā)之Nginx+uWSGI+virtualenv多項(xiàng)目部署教程

    Python開發(fā)之Nginx+uWSGI+virtualenv多項(xiàng)目部署教程

    這篇文章主要介紹了Python系列之-Nginx+uWSGI+virtualenv多項(xiàng)目部署教程,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • 詳解python的網(wǎng)絡(luò)編程基礎(chǔ)

    詳解python的網(wǎng)絡(luò)編程基礎(chǔ)

    這篇文章主要為大家介紹了python網(wǎng)絡(luò)編程的基礎(chǔ),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • python中解析命令行參數(shù)的示例詳解

    python中解析命令行參數(shù)的示例詳解

    這篇文章主要為大家詳細(xì)介紹了python中命令行參數(shù)的解析,并做一個命令行程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2024-11-11

最新評論

息烽县| 宾阳县| 大兴区| 井陉县| 长兴县| 米林县| 固安县| 绥棱县| 娄底市| 普宁市| 甘孜县| 华宁县| 察雅县| 龙陵县| 南雄市| 莱阳市| 锦州市| 客服| 平山县| 青铜峡市| 壶关县| 化德县| 日土县| 思南县| 台州市| 海兴县| 江北区| 治县。| 肥东县| 右玉县| 江川县| 松江区| 德令哈市| 班戈县| 临安市| 古交市| 西充县| 景德镇市| 锦州市| 饶平县| 鄯善县|