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()