FTP做作业用到的知识点:
FTP做作业用到的知识点:
一: os.path 模块下常用的用法
os.path.abspath(file) #返回的是.py文件的绝对路径(完整路径)
os.path.dirname(file) #返回的是.py文件的目录
os.path.dirname(os.path.abspath(file)
os.path.isfile(file) #测试指定参数是否是一个文件
os.path.existsfile() #测试指定文件是否存在
os.path.join(file) #将目录名和文件的基名拼接成一个完整的路径
os.stat(file).st_siaz #获取一个文件的大小
os.path.isdir(file) #用于判断对象是否为一个目录
参考博客:https://www.cnblogs.com/renpingsheng/p/7065565.html
二: sys 模块下常用的用法
- 1 .sys.argv
在一个luffy_server.py文件里面导入sys模块print(sys.argv)或者print(sys.argv[0]) 是指这个脚本本身
#luffy_server.py文件
import sys
print(sys.argv)
返回:这个脚本本身,列表形式
['E:/模块三__FTP作业_2018__11__08/luffyFTP/server/bin/luffy_server.py']
- 2.sys.path.append()
sys.path —— 动态地改变Python搜索路径
在python中导入的package或module不在环境变量PATH中,那么可以使用sys.path.apend 将要导入的package或module加入到PATH环境变量中
import os, sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))print(BASE_DIR) #E:\模块四__作业\FTP\server
sys.path.append(BASE_DIR)
三,字典 update()方法
update()
Python update() 函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里。
参考博客:http://www.runoob.com/python3/python3-att-dictionary-update.html
四:zfill()方法
参考博客:http://www.runoob.com/python3/python3-string-zfill.html
五:反射:hasattr,getattr,setattr,delattr
类的反射特点:类,只能找类里的成员对象
博客链接:https://www.cnblogs.com/sunny7/p/9715856.html
五:yield的应用:
# yield的应用,在FTP作业显示进度条的应用
def run():
count = 0
while True:
n = yield count
print('--->', n, count)
count +=1
g = run()
g.__next__()
g.send('alex')
g.send('jack')
g.send('raom')
g.send('sd')
返回结果:
---> alex 0
---> jack 1
---> raom 2
---> sd 3
下面是应用的例子:显示进度条
def progress_bar(self,total_size,current_percent =0,last_percent = 0): #
while True:
received_size = yield current_percent
current_percent = int(received_size / total_size * 100)
if current_percent > last_percent: # 当前的比上一次的大了
print('#' * int(current_percent / 2) + '{percent} %'.format(percent=current_percent), end='\r',
flush=True) # 打印进度的时候覆盖上一次的,进度条,后面要加换行\n
last_percent = current_percent # 把本次循环的percent赋值给last
六: 模块 configparser
博客链接:https://www.cnblogs.com/sunny7/p/9906491.html
七:shelve模块
# shelve模块
# 向内存里存字典一样把数据存在硬盘里
import shelve
s = shelve.open('') #打开一个文件
print(s) #<shelve.DbfilenameShelf object at 0x0000000001DAC0B8>
list(s.keys())
s['name'] = 'alex'
s['age'] = 18
print(list(s.keys())) #['name', 'age'
print(s['name']) #alex
print(s['age']) #18
s.close()
# 应用:
import shelve
d = shelve.open('shelve_test')
class Test():
def __init__(self,n):
self.n = n
t = Test(123)
t2 = Test(123987456)
name = ['alex','rain','test']
d['test'] = name
d['t1'] = t
d['t2'] = t2
d.close()
FTP做作业用到的知识点:的更多相关文章
- 课下选做作业实现mypwd
2019-2020-1 20175227 <信息安全系统设计基础> 课下选做作业实现mypwd 要求 学习pwd命令 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 ...
- 课下选做作业MyOD
2019-2020-1 20175227 <信息安全系统设计基础> 课下选做作业MyOD 要求 复习c文件处理内容 编写myod.c 用myod XXX实现Linux下od -tx -tc ...
- 课下选做作业MySort
20175227张雪莹 2018-2019-2 <Java程序设计> 课下选做作业MySort 要求 注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort ...
- [LeetCode]1450. 在既定时间做作业的学生人数
给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间. 已知,第 i 名学生在 startTime[i] 时开始写作业并于 ...
- HDU1789 Doing Homework again 做作业【贪心】
题目链接:https://vjudge.net/problem/HDU-1789 题目大意: 给出N个作业的截至日期,和N个作业不交所扣掉的分数,要求输出扣除分数做少的方案. 解析: 与上一道销售商品 ...
- JS基础语法---阶段复习+作业练习+接下来知识点heads up
调试:调试代码---高级程序员都是从调试开始的 调试: 写代码---打开浏览器--F12(开发人员工具)--->Sources---双击文件,在某一行代码前面点击一下(出现的东西就是断点) 一元 ...
- python day 16: FTP脚本作业用例图,类图,活动图与代码重写
目录 python day 16 1. FTP脚本的用例图 python day 16 2019/10/22 - 2019/10/26 学习资料来自老男孩教育 1. FTP脚本的用例图 老师的讲解视频 ...
- python第二十二天-----在做作业当中............
作业 1, ATM:模拟实现一个ATM + 购物商城程序 额度 自定义实现购物商城,买东西加入 购物车,调用信用卡接口结账可以提现,手续费5%支持多账户登录支持账户间转账记录每月日常消费流水提供还款接 ...
- 第三模块:面向对象&网络编程基础 第4章 FTP项目作业讲解
01-FTP项目需求 02-FTP项目框架搭建 03-FTP项目用户认证 04--FTP项目制定标准定长消息头 05-FTP项目下载功能开发 06-FTP项目下载功能开发2 07-FTP项目ls文件列 ...
随机推荐
- C# 面试知识点网络文档整理
一 C# .NET技术 1.ASP.NET MVC如何控制权限? 2.C#.NET中的CTS.CLS和CLR? 3.什么是多线程,如何创建和如何使用?请写一个多线程单例模式? 4.什么是单例模式? 5 ...
- expdp/impdp数据泵分区表导入太慢了。添加不检查元数据参数提高效率:ACCESS_METHOD=DIRECT_PATH
分区表数据泵导入太慢,达不到客户的迁移要求导出语句如下:(10G单节点)userid='/ as sysdba'directory=milk_dirdumpfile=mon_%U.dmplogfile ...
- 【HDFS API编程】查看目标文件夹下的所有文件、递归查看目标文件夹下的所有文件
使用hadoop命令:hadoop fs -ls /hdfsapi/test 我们能够查看HDFS文件系统/hdfsapi/test目录下的所有文件信息 那么使用代码怎么写呢?直接先上代码:(这之后 ...
- yum源配置问题
目前我所知有三种情况: 1. 完全公网环境 2. linux所处内网,但可以代理至公网 3. 完全内网 这里讨论下第三种情况,如果是处在完全内网情况下,可以使用linux安装时的iso镜像包作为本地y ...
- 渐进反馈式搜索技术助力运维工程师——Linux命令高效检索
日常生活工作中,我们通过搜索引擎查询相关资料时,经常遇到不知如何指定准确关键词的情况,仅仅根据指定大概范围的关键词时,搜索结果往往不能尽如人意. <信息导航>APP最新版本(Ver 1.1 ...
- java中四种修饰符(private、default、protected、public)的访问权限
权限如下: no. 范围 private default protected public 1 同一包下的同一个类 √ √ √ √ 2 同一包下的不同类 × √ √ √ 3 不同包下的子类 × × √ ...
- pydev+Eclipse搭建教程
学习Python一直用IDLE,一直再想有没有一种类似Eclipse那样软件可以编辑Python.遂在Eclipse上安装pydev 本文是在Eclipse环境已搭建好的基础上进行pydev的插件安装 ...
- Unresolved externa Round
[ilink32 Error] Error: Unresolved external '__stdcall Round(const double, int)' referenced from e:\工 ...
- JAVA的第二次作业
1.编写“人”类及其测试类.1.1 “人”类: 类名:Person 属性:姓名.性别.年龄.身份证号码 方法:在控制台输出各个信息1.2 测试类 类名:TestPerson 方法:main ...
- JQ删除数组中的某个对象
---恢复内容开始--- var pros = []; 全局变量function doSearchSal(){ var param = {}; var searchSal=$.trim($(" ...