王振2020-5-21笔记

import os
pathvar = r"C:\Users\86182\Desktop\新建文件夹"

def func(pathvar):
	lst = os.listdir(pathvar)
	size = 0
	for i in lst:
		pathnew = os.path.join(pathvar,i)
		
		if os.path.isfile(pathnew)
			size += os.path.getsize(pathnew)
		elif os.path.isdir(pathnew)
			size += func(pathnew)
	return size
res = func(pathvar)
print(res)

<-------------------------------------------------------------------------------->
### ##### zipfile 后缀是zip

import zipfile

#1.压缩文件
创建压缩包
zf = zipfile.ZipFile("ceshi0512.zip","w",zipfile.ZIP_DEFLATED)
zf.write("路径文件",文件名)
zf.close



#2.解压文件
zf = zipfile.ZipFile("ceshi0512.zip","r")
zf.extractall("./ceshi300")   #解压所有文件到某个路径下
zf.close

zf.extract("1.txt","./ceshi400")
zf.close

#3.追加文件
zf = zipfile.ZipFile("ceshi0512.zip","a",zipfile.ZIP_DEFLATED)
zf.write(路径文件,文件名)
zf.close

with 语法改写
with zipfile.ZipFile("ceshi0512.zip","a",zipfile.ZIP_DEFLATED) as zf:
	zf.write(文件路径,文件名)



#4.查看文件
with zipfile.ZipFile("ceshi0512.zip","r",zipfile.ZIP_DEFLATED) as zf:
	lst = zf.namelist()
print(lst)

<------------------------------------------------------------------------->
#### ##### tarfile   .tar   .tar.gz   .tar.bz2 (官方最小)
import tarfile
(1)创建tar压缩包  比对各个大小  tar > gz > bz2

tarfile.open("ceshi.tar","w",encoding = "utf-8")
tf.add(文件路径,文件名)
tf.close


tarfile.open("ceshi.tar","w:gz",encoding = "utf-8")
tf.add(文件路径,文件名)
tf.close


tarfile.open("ceshi.tar","w:bz2",encoding = "utf-8")
tf.add(文件路径,文件名)
tf.close


####  2. 解压文件

tf = tarfile.open("ceshi.tar","r",encoding = "utf-8")
tf.extractall(路径文件夹)
tf.close

tf.extract(文件名,路径文件夹)
tf.close

#### 3.追加文件
只能对W模式下的打包进行追加,其他模式不行
with tarfile.open("ceshi.tar","a",encoding = "utf-8") as tf:
	tf.add(文件路径,文件名)
	
with tarfile.open("ceshi.gz","a",encoding = "utf-8") as tf:
	tf.add(文件路径,文件名)

### 4.查看压缩包

with tarfile.open("ceshi.gz","r",encoding = "utf-8") as tf:
	lst = tf.getnames()
print(lst)

#### ###  解决tarfile不能追加的问题

先解压原来压缩包
tf = tarfile.open("ceshi.0515.tar.bz2","r",encoding = "utf-8")
tf.extractall(路径文件夹)
tf.close

添加要添加的文件
import shutil
shutil.copy(文件路径,目标文件夹)

重新压缩文件

<------------------------------------------------------------------------->
### 模块与包   文件与文件夹的关系
1. import 导包

import mymodule
mymodule.xboy
print(mymodule.xboy)
把一个文件里面的内容导入当前文件下,可以直接 模块.进行调用

1. 模块.变量
2. 模块.函数
3. 模块.类
mymodule.Car().colour

默认只能导入当前文件所在的文件夹下的所有模块
###  导入任意路径下的模块
通过sys.path 可以导入任意路径下的模块

import sys  系统模块
sys.path 模块

将路径加入sys.path.append(路径)

###可以给导入的模块起一个别名
import mymodule2 as m2
print(m2.a)
print(m2.b)

#### from  ... import

# 导入单个
from mymodule import xboy
print(xboy)

# 导入多个
from mymodule import xboy,xgirl,dog
print(xboy)
dog()

# 导入所有  * 代表所有
from mymodule import *
cat()

# 起一个别名
from mymodule import xboy as xb,xgirl as xg
print(xb)
print(xg)

# 定制*的范围    __all__ = ["dog"]
from mymodule import *


#####  4. __name__ 
返回模块名字的
	print(__name__)  #结果是__main__
	如果被直接执行,返回的是__main__
	
	如果是间接被导入,返回当前的文件名(模块名)

##为了防止当作为模块导入时,下面代码被执行,可以用下面代码,这个是做测试的
if __name__ == "__main__"
	dog()

<---------------------------------------------------------------------------------->
1.import 导入包

"""
# 1.文件就是一个模块,文件夹就是一个包
文件夹里面可以有很多的文件,就相当于包里面有很多的模块

# 2.__init__.py 对包(文件夹)进行初始化的脚本文件
导入包的时候,系统自动调用__init__文件,当前文件夹进行初始化,实际上就是对init中的文件属性进行导入

# 3.这个包下的其他模块可以通过初始化文件间接导入
"""


# ### 2.用from .. import 从包导入成员(落脚点在模块或者成员)


#   包.模块.成员
# from package1 import ceshi001
# print(ceshi001)

# from package1 import mypath
# mypath.getsize()

# from package1.mypath import getsize
# getsize()



####   3.导入所有   *
from package1 import *
# print(ceshi002)
print(ceshi001)



####3 单入口模式(相对路径导入)
djangle

当前文件如果含有相对路径,是不能够直接调用的,需要通过导入到入口的启动文件中进行识别调用
from import需要落脚于模块或者模块的成员











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值