pythoncwd
『壹』 python3.8.2 使用pip20.0.2 安裝pygame報錯
你要查看你的python版本
如果是python 2.7的,直接打開終端窗口執行 $ sudo apt-get install python-pygam 它會下載並安裝給你
如果是python3的,就要安裝pygame的依賴庫,然後再下載安裝
安裝依賴庫$ sudoapt-get install python3-dev mercurial (如果你打開終端時用的是python3.5,那就把python3-dev換成python3.5-dev)
接下來再執行$ sudoapt-get install libsdl-image1.2-devlibsdl2-devlibsdl-ttf2.0-dev
安裝完依賴庫後,安裝執行$ pip install --user hg+網頁鏈接
他會告訴你pygame找到那些庫後,輸出會暫停一段時間,然後你回車,如果你看到一條信息說明你安裝成功了。
最後打開python終端,執行$ python3 (如果時2.7就不用3了),接著再執行import pygama
如果導入成功了,那就時安裝好了。
『貳』 python,如何下載FTP上的文件
通過python下載FTP上的文件夾的實現代碼:
# -*- encoding: utf8 -*-
import os
import sys
import ftplib
class FTPSync(object):
def __init__(self):
self.conn = ftplib.FTP('10.22.33.46', 'user', 'pass')
self.conn.cwd('/') # 遠端FTP目錄
os.chdir('/data/') # 本地下載目錄
def get_dirs_files(self):
u''' 得到當前目錄和文件, 放入dir_res列表 '''
dir_res = []
self.conn.dir('.', dir_res.append)
files = [f.split(None, 8)[-1] for f in dir_res if f.startswith('-')]
dirs = [f.split(None, 8)[-1] for f in dir_res if f.startswith('d')]
return (files, dirs)
def walk(self, next_dir):
print 'Walking to', next_dir
self.conn.cwd(next_dir)
try:
os.mkdir(next_dir)
except OSError:
pass
os.chdir(next_dir)
ftp_curr_dir = self.conn.pwd()
local_curr_dir = os.getcwd()
files, dirs = self.get_dirs_files()
print "FILES: ", files
print "DIRS: ", dirs
for f in files:
print next_dir, ':', f
outf = open(f, 'wb')
try:
self.conn.retrbinary('RETR %s' % f, outf.write)
finally:
outf.close()
for d in dirs:
os.chdir(local_curr_dir)
self.conn.cwd(ftp_curr_dir)
self.walk(d)
def run(self):
self.walk('.')
def main():
f = FTPSync()
f.run()
if __name__ == '__main__':
main()
『叄』 如何在Python中使用FTP
from ftplip import FTP # 首先要引入 ftplib 這個庫
# 接著,這是我自定義的幾個用於操作 ftp 的函數,def 後面跟的是自定義函數名,函數體內FTP 相關的語句和函數來自上面 import 那個包,你自己體會吧:
# 初始化 FTP 連接
def ftp_open(HOST,PORT,USERNAME,PASSWORD):
ftp=FTP()
ftp.set_debuglevel(2)
ftp.connect(host=HOST,port=PORT)
ftp.login(USERNAME,PASSWORD)
return ftp
# 關閉 FTP 連接
def ftp_close(ftp):
ftp.set_debuglevel(0)
ftp.quit()
# 文件上傳函數,filename 可以是windows 格式包含全路徑的文件
def ftp_up(ftp,filename):
#print(ftp.getwelcome())
#ftp.cwd('xxx/www')
file_handler=open(filename,'rb')
ftp.storbinary('STOR %s' % os.path.basename(filename),file_handler)
file_handler.close()
print('FTP up OK.')
# 文件下載函數,filename 可以是windows 格式包含全路徑的文件
def ftp_down(ftp,filename):
#print(ftp.getwelcome())
#ftp.cwd('xxx/www')
file_handler=open(filename,'wb')
ftp.retrbinary('RETR %s' % os.path.basename(filename),file_handler)
file_handler.close()
print('FTP down OK.')
『肆』 python 檢測FTP目錄是否為空
ftp相關命令操作
ftp.cwd(pathname) #設置FTP當前操作的路徑
ftp.dir() #顯示目錄下文件信息
ftp.nlst() #獲取目錄下的文件
ftp.mkd(pathname) #新建遠程目錄
ftp.pwd() #返回當前所在位置
ftp.rmd(dirname) #刪除遠程目錄
ftp.delete(filename) #刪除遠程文件
ftp.rename(fromname, toname)#將fromname修改名稱為toname。
ftp.storbinaly("STOR filename.txt",file_handel,bufsize) #上傳目標文件
ftp.retrbinary("RETR filename.txt",file_handel,bufsize)#下載FTP文件
『伍』 如何在 VScode 中配置 Python 的互動式命令環境
vscode調試python是可以控制台交互的
下載vscode的擴展「Python」
查看一下這個擴展的官方說明 DonJayamanne/pythonVSCode
按照說明在調試的時候選擇 Integrated Terminal/Console
設置python目錄:在用戶設置里找到
"python.pythonPath": "python",在右側修改,如:
"python.pythonPath": "C:/Users/zyc/AppData/Local/Programs/Python/Python35/Python.exe"然後點旁邊的齒輪按鈕打開launch.json,找到Integrated Terminal/Console對應的設置修改
{
"name": "Integrated Terminal/Console",
"type": "python",
"request": "launch",
"stopOnEntry": true,
"pythonPath": "${config.python.pythonPath}",
"program": "${file}",
"cwd": "${workspaceRoot}",
"console": "integratedTerminal",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit"
]
},應該就可以了
『陸』 python遍歷特定目錄的深度問題
你這樣抄寫很復雜,建襲議用glob模塊。
importglob
#獲取指定目錄下的所有圖片
printglob.glob(r"E:/Picture/*/*.jpg")
#獲取上級目錄的所有.py文件
printglob.glob(r'../*.py')#相對路徑
『柒』 怎麼用python查詢出 進程 CPU使用率 內存使用 句柄數
看到句柄數這幾個字,我猜可能是要windows下運行的?
可能答非所問,不過在linux下最好的用的莫過於psutil了,你可以通過進程名或pid很好的監控任意進程的系統佔用情況,甚至進程建立的每個連接都能獲取到
>>>importpsutil
>>>psutil.pids()
[1,2,3,4,5,6,7,46,48,50,51,178,182,222,223,224,
268,1215,1216,1220,1221,1243,1244,1301,1601,2237,2355,
2637,2774,3932,4176,4177,4185,4187,4189,4225,4243,4245,
4263,4282,4306,4311,4312,4313,4314,4337,4339,4357,4358,
4363,4383,4395,4408,4433,4443,4445,4446,5167,5234,5235,
5252,5318,5424,5644,6987,7054,7055,7071]
>>>
>>>p=psutil.Process(7055)
>>>p.name()
'python'
>>>p.exe()
'/usr/bin/python'
>>>p.cwd()
'/home/giampaolo'
>>>p.cmdline()
['/usr/bin/python','main.py']
>>>
>>>p.status()
'running'
>>>p.cpu_percent(interval=1.0)
12.1
>>>psutil.net_io_counters(pernic=True)
{'eth0':netio(bytes_sent=485291293,bytes_recv=6004858642,packets_sent=3251564,packets_recv=4787798,errin=0,errout=0,dropin=0,dropout=0),
'lo':netio(bytes_sent=2838627,bytes_recv=2838627,packets_sent=30567,packets_recv=30567,errin=0,errout=0,dropin=0,dropout=0)}
從官方文檔上了一部分出來,有沒有碉堡了的感覺,快去翻一下文檔吧,非常容易使用
『捌』 python 怎麼調用命令實現
在Python/wxPython環境下,執行外部命令或者說在Python程序中啟動另一個程序的方法
1、os.system(command)
os.system()函數用來運行shell命令。此命令可以方便的調用或執行其他腳本和命令
#打開指定的文件 >>>os.system('notepad *.txt')
2、wx.Execute(command, syn=wx.EXEC_ASYNC, callback=None)
若置syn為wx.EXEC_ASYNC則wx.Excute函數立即返回,若syn=wx.EXEC_SYNC則等待調用的程序結束後再返回。
callback是一個wx.Process變數,如果callback不為None且syn=wx.EXEC_ASYNC,則程序結束後將調用wx.Process.OnTerminate()函數。
os.system()和wx.Execute()都利用系統的shell,執行時會出現shell窗口。如在Windows下會彈出控制台窗口,不美觀。下面的兩種方法則沒有這個缺點。
3、import subprocess
subprocess.Popen(args, bufsize=0, executable=None, stdin=None,
stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False,
cwd=None, env=None, universal_newlines=False, startupinfo=None,
creationflags=0)
subprocess.call ([cmd, arg1, arg2],shell=True)
『玖』 python如何創建FTP目錄
直接使用ftplib就可以實現,其中有一個nlst功能用於查詢目錄,cwd用於改變目錄,還有一個size功能。你這邊只需要保留一個目錄的鏡像。如果發現有目錄差異,或者是文件大小發生變更,就用retrbinary進行文件同步就可以。
『拾』 python怎麼ftp上傳文件
通過python下載FTP上的文件夾的實現代碼:
# -*- encoding: utf8 -*-
import os
import sys
import ftplib
class FTPSync(object):
def __init__(self):
self.conn = ftplib.FTP('10.22.33.46', 'user', 'pass')
self.conn.cwd('/') # 遠端FTP目錄
os.chdir('/data/') # 本地下載目錄
def get_dirs_files(self):
u''' 得到當前目錄和文件, 放入dir_res列表 '''
dir_res = []
self.conn.dir('.', dir_res.append)
files = [f.split(None, 8)[-1] for f in dir_res if f.startswith('-')]
dirs = [f.split(None, 8)[-1] for f in dir_res if f.startswith('d')]
return (files, dirs)
def walk(self, next_dir):
print 'Walking to', next_dir
self.conn.cwd(next_dir)
try:
os.mkdir(next_dir)
except OSError:
pass
os.chdir(next_dir)
ftp_curr_dir = self.conn.pwd()
local_curr_dir = os.getcwd()
files, dirs = self.get_dirs_files()
print "FILES: ", files
print "DIRS: ", dirs
for f in files:
print next_dir, ':', f
outf = open(f, 'wb')
try:
self.conn.retrbinary('RETR %s' % f, outf.write)
finally:
outf.close()
for d in dirs:
os.chdir(local_curr_dir)
self.conn.cwd(ftp_curr_dir)
self.walk(d)
def run(self):
self.walk('.')
def main():
f = FTPSync()
f.run()
if __name__ == '__main__':
main()