当前位置: 首页 > wzjs >正文

网站布局的好坏的几个要素wordpress负载均衡上传附件

网站布局的好坏的几个要素,wordpress负载均衡上传附件,十大高端网站建设,建设部网站查资质文章目录 【README】【10】组织文件(复制移动删除重命名)【10.1】shutil模块(shell工具)【10.1.1】复制文件和文件夹【10.1.1.1】复制文件夹及其下文件-shutil.copytree 【10.1.2】文件和文件夹的移动与重命名【10.1.3】永久删除文件和文件夹【10.1.4】用…

文章目录

  • 【README】
  • 【10】组织文件(复制+移动+删除+重命名)
    • 【10.1】shutil模块(shell工具)
      • 【10.1.1】复制文件和文件夹
        • 【10.1.1.1】复制文件夹及其下文件-shutil.copytree
      • 【10.1.2】文件和文件夹的移动与重命名
      • 【10.1.3】永久删除文件和文件夹
      • 【10.1.4】用send2trash模块安全删除
    • 【10.2】遍历目录树-os.walk()
    • 【10.3】用zipfile模块压缩文件
      • 【10.3.1】读取zip文件
      • 【10.3.2】从zip文件中解压缩
      • 【10.3.3】创建和添加到zip文件

【README】

本文总结自《python编程快速上手-让繁琐工作自动化》第10章,非常棒的一本书,墙裂推荐;



【10】组织文件(复制+移动+删除+重命名)

【10.1】shutil模块(shell工具)

1)shell模块包含一些函数,用于复制,移动,重命名和删除文件;


【10.1.1】复制文件和文件夹

1)shutil.copy(src,des):把src路径下的文件复制到des路径下,其中src与des都是字符串;若des是一个文件名,则它将作为被复制文件的新名字;

  • 该函数返回一个字符串,表示被复制文件的路径;(注意:shutil.copy仅复制文件,不能复制文件夹

2)把当前路径下的src文件夹下的src01.txt文件复制到当前文件夹下的target文件夹下,且复制后的文件名与原文件名保持一致:

# 把当前路径下的src文件夹下的src01.txt文件复制到当前文件夹下的target文件夹下;
copyResult = shutil.copy(Path.cwd() / 'src/src01.txt', Path.cwd() / 'target')
print(copyResult)
# D:\studynote\00-ai-llm\workbench\PythonBasicStudy\chapter10\target\src01.txt

3)把当前路径下的src文件夹下的src01.txt文件复制到当前文件夹下的target文件夹下,且指定复制后的文件名为src01_copy.txt

copyResult2 = shutil.copy(Path.cwd() / 'src/src01.txt', Path.cwd() / 'target/src01_copy.txt')
print(copyResult2)
# D:\studynote\00-ai-llm\workbench\PythonBasicStudy\chapter10\target\src01_copy.txt

【10.1.1.1】复制文件夹及其下文件-shutil.copytree

1)shutil.copytree: 把src路径表示的文件夹及其子文件夹及所有文件一并复制到des文件夹下;shutil.copytree会创建des文件夹,若des存在则抛出异常;

# 复制文件夹及其下文件-shutil.copytree
# 先删除目的地文件夹
force_remove_dir('target_backup')
# 复制到目的地文件夹
copyDirResult = shutil.copytree(Path.cwd() / 'target', Path.cwd() / 'target_backup')
print(copyDirResult)
# D:\studynote\00-ai-llm\workbench\PythonBasicStudy\chapter10\target_backup

【10.1.2】文件和文件夹的移动与重命名

1)shutil.move(src, des): 把src路径表示的文件夹移动到des路径下;一共分为4种情况:

  • 情况1:src是文件夹名,des是文件夹名;等同于移动文件夹并重命名文件夹;
  • 情况2:src是文件名,des是文件夹名;等同于把文件剪切到文件夹;
  • 情况3:src是文件名,des是文件名; 等同于移动文件并重命名文件;

情况1:src是文件夹名,des是文件夹名;等同于移动文件夹并重命名文件夹;

# 情况1:src是文件夹名,des是文件夹名;等同于移动文件夹并重命名文件夹;
# 先删除目的地文件夹
force_remove_dir('target_backup2')
tempResult = shutil.move(Path.cwd() / 'target_backup', Path.cwd() / 'target_backup2')
print(tempResult)
# D:\studynote\00-ai-llm\workbench\PythonBasicStudy\chapter10\target_backup2# 强行删除文件夹 
def force_remove_dir(temp_path):if os.path.exists(temp_path):shutil.rmtree(temp_path)

情况2:src是文件名,des是文件夹名;等同于把文件剪切到文件夹;

# 情况2: 情况2:src是文件名,des是文件夹名;等同于把文件剪切到文件夹
tempResult = shutil.move(Path.cwd() / 'target_backup3/src03.txt', Path.cwd() / 'move_dir')
print(tempResult)
# D:\studynote\00-ai-llm\workbench\PythonBasicStudy\chapter10\move_dir\src03.txt

情况3:src是文件名,des是文件名; 等同于移动文件并重命名文件;

# 情况3:src是文件名,des是文件名; 等同于移动文件并重命名文件;
tempResult = shutil.move(Path.cwd() / 'target_backup3/src03_A.txt', Path.cwd() / 'move_dir/src03_A_moved.txt')
print(tempResult)
# D:\studynote\00-ai-llm\workbench\PythonBasicStudy\chapter10\move_dir\src03_A_moved.txt

在这里插入图片描述

2)使用shutil.move()函数的注意点:

  • 如果目标文件夹不存在,则move()会把原文件重命名为目标文件夹的名称;
# 情况4: src是文件名,des是文件夹名称;但des不存在, 则把src表示的文件重命名为des(把target_backup3/src03_C.txt文件重命名为./move_dir2)
tempResult = shutil.move(Path.cwd() / 'target_backup3/src03_C.txt', Path.cwd() / 'move_dir2')
print(tempResult)
# D:\studynote\00-ai-llm\workbench\PythonBasicStudy\chapter10\move_dir2

【提醒】move函数中目的地路径的各层级目录必须存在,否则pyhon抛出异常;


【10.1.3】永久删除文件和文件夹

1)删除文件和文件夹api:

  • os模块:使用os模块中的函数,可以删除一个文件或一个空文件夹;

    • os.unlink(path) : 删除path路径表示的文件;
    • os.rmdir(path): 删除path路径表示的文件夹;该文件夹必须是空的, 不能有任何文件或文件夹;
  • shutil模块:删除一个文件夹及其所有的 内容;

    • shutil.rmtree(path): 删除path路径表示的文件夹,它包含的所有文件及其下各层级子文件夹都会被删除;
    # 删除文件夹与其下各层级文件夹及文件
    def force_remove_dir(temp_path):if os.path.exists(temp_path):shutil.rmtree(temp_path)# 强行删除一个文件
    def force_remove_file(temp_path):if os.path.exists(temp_path):os.remove(temp_path) # os.remove() 等同于 os.unlink()# 删除文件夹delete_dir_a与其下各层级文件夹及文件
    force_remove_dir(Path.cwd() / "delete_dir_a")
    

    【10.1.4】用send2trash模块安全删除

    1)shutil.rmtree():不可恢复删除文件及文件夹;

    2)推荐的方法是:使用send2trash模块,把文件夹和文件发送到回收站,而不是永久删除它们;

    import send2trash# 使用send2trash模块,把文件夹和文件发送到回收站,而不是永久删除它们
    tempResult = send2trash.send2trash("send2trash_test_dir")
    print(tempResult)
    # None
    

    【10.2】遍历目录树-os.walk()

1)os.walk(dirPath):被传入一个文件夹路径,遍历该文件夹下的子文件夹及文件;

2)os.walk(dirPath)返回以下3个值(当前文件夹指的是:for循环时迭代的文件夹):

  • 当前文件夹名称的字符串;
  • 当前文件夹中子文件夹的字符串列表;
  • 当前文件夹中文件的字符串列表;

3)遍历 src文件夹下的子文件夹列表及文件列表;

在这里插入图片描述

# 使用os.walk()遍历文件夹下的子文件夹及文件
import os
from pathlib import Path
root_dir = Path.cwd() / "src"
for cur_dir, sub_dirs, sub_files in os.walk(root_dir):print("当前文件夹=" + cur_dir)print("子文件夹列表=" + str(sub_dirs))print("子文件列表=" + str(sub_files))print("========== 我是分隔符 ==========")

【遍历结果】

当前文件夹=D:\studynote\00-ai-llm\workbench\PythonBasicStudy\chapter10\src
子文件夹列表=['child01']
子文件列表=['src01.txt', 'src03.txt', 'src03_A.txt']
========== 我是分隔符 ==========
当前文件夹=D:\studynote\00-ai-llm\workbench\PythonBasicStudy\chapter10\src\child01
子文件夹列表=[]
子文件列表=['child01.txt']
========== 我是分隔符 ==========

【10.3】用zipfile模块压缩文件

【10.3.1】读取zip文件

1)读取zip文件,必须创建一个zip文件对象,使用 zipFile.ZipFile(文件名)创建一个Zip文件对象;

import zipfile, os
from pathlib import Path# 读取zip文件
print("====== 读取zip文件 ======")
tempZip01 = zipfile.ZipFile(Path.cwd() / 'zipfile01.zip')
fileList = tempZip01.namelist()
print(str(fileList))
# ['zipfile01/a.txt', 'zipfile01/b.txt', 'zipfile01/']
print(type(fileList))
# <class 'list'>for fileName in fileList:tempFile = tempZip01.getinfo(fileName)print(str(tempFile))print(tempFile.file_size)print(tempFile.compress_size)print("=== 我是分隔符 === ")
# 关闭zip文件
tempZip01.close()

【运行结果】

====== 读取zip文件 ======
['zipfile01/a.txt', 'zipfile01/b.txt', 'zipfile01/']
<class 'list'>
<ZipInfo filename='zipfile01/a.txt' external_attr=0x20 file_size=21>
21
21
我是分隔符
<ZipInfo filename='zipfile01/b.txt' external_attr=0x20 file_size=21>
21
21
我是分隔符
<ZipInfo filename='zipfile01/' external_attr=0x10>
0
0
我是分隔符

【10.3.2】从zip文件中解压缩

1)zipfile的extractAll方法从zip文件中解压缩所有文件和文件夹,并将其放入当前目录中; 若指定了目标文件夹(目录 ),则解压缩到目标文件夹中;

print("====== 从zip文件中解压缩所有文件 ======")
tempZip01 = zipfile.ZipFile(Path.cwd() / 'zipfile01.zip')
tempZip01.extractall(Path.cwd() / 'target_extract')
tempZip01.close()

在这里插入图片描述

2)使用extract函数解压缩单个文件:传入的文件名,必须是namelist()返回的列表中的元素; 可以向extract传入第2个参数,用于表示目标文件夹;若目标文件夹不存在,则新建;也可以不传入第2个参数,则目标文件夹默认是当前文件夹;

print("====== 从zip文件中解压缩单个 ======")
tempZip01 = zipfile.ZipFile(Path.cwd() / 'zipfile01.zip')
result = tempZip01.extract("zipfile01/a.txt", Path.cwd() / 'target_extract')
print(result)
# D:\studynote\00-ai-llm\workbench\PythonBasicStudy\chapter10\chapter10_03\target_extract\zipfile01\a.txt
tempZip01.close()

【10.3.3】创建和添加到zip文件

1)使用不同模式打开zi文件:

  • 使用写模式打开zip文件,第2个参数传入w;
  • 使用追加模式打开zip文件,第2个参数传入a;
# 10.3.3 创建和添加到zip文件
print("====== 创建和添加到zip文件 ======")
tempZip02 = zipfile.ZipFile(Path.cwd() / 'zipfile02.zip', "w")
tempZip02.write("10_03.py", compress_type=zipfile.ZIP_DEFLATED)
tempZip02.close()

文章转载自:

http://IhYeWWck.jxtbr.cn
http://ahp4erZD.jxtbr.cn
http://9DXh4xxa.jxtbr.cn
http://yDRIR4Hb.jxtbr.cn
http://ilDp8Y4n.jxtbr.cn
http://mTZ7bX7E.jxtbr.cn
http://11pHvunZ.jxtbr.cn
http://AXsG0kWL.jxtbr.cn
http://O3MKfOW2.jxtbr.cn
http://haj3u3CR.jxtbr.cn
http://SHyO0Ocw.jxtbr.cn
http://BzeivcgV.jxtbr.cn
http://j9e1GsDS.jxtbr.cn
http://SuvLH0D0.jxtbr.cn
http://9WQxEUlT.jxtbr.cn
http://aur9yp6t.jxtbr.cn
http://va4G5r07.jxtbr.cn
http://jteyuCmU.jxtbr.cn
http://dDMJqvss.jxtbr.cn
http://YQEko4wt.jxtbr.cn
http://dxcM2FSy.jxtbr.cn
http://EBAy3X8i.jxtbr.cn
http://1p3ciP7T.jxtbr.cn
http://fTTyaERF.jxtbr.cn
http://2cIgWmzy.jxtbr.cn
http://5ykuAECx.jxtbr.cn
http://f1AgoBK3.jxtbr.cn
http://Uad4m9qy.jxtbr.cn
http://IGH6EC03.jxtbr.cn
http://h2U3EoIg.jxtbr.cn
http://www.dtcms.com/wzjs/612281.html

相关文章:

  • 网站指向ip列表是什么建网站团队
  • 网站建设签收单郑州网站排名公司
  • 网站开发项目成本分析之合理性郑州网站建设hnqfu
  • 营销型网站建传统网站怎么换成WordPress
  • 如何建设淘宝客网站wordpress用户注册邮件
  • 设计网站的三个要素如何建设网页制作的网站
  • 怎么查看网站啥系统做的p2p网站建设 深圳
  • 可以做mv 的视频网站中山网站建设咨询
  • 百度权重从1提升到2的办法seo网站编辑是做什么的
  • 网站设计师职责北京12345微信公众号
  • 龙华住房与建设局网站百度新闻排行榜
  • 增城微网站建设华阳路街道网站建设
  • ppp模式在网站建设的怎么做狼视听网站
  • 百度移动网站生成温州seo顾问
  • 网站ip被屏蔽怎么办我要自学网首页网站建设
  • 万网建设网站名雕装饰公司的口碑怎样
  • 渭南哪里做网站网站做自适应的好处
  • 网站推广服务属于广告吗最近三天的新闻大事简短
  • 企业网站策划案例一对一视频直播app开发
  • 提交网站收录入口护理专业简历
  • 网站的后台管理宿州集团网站建设
  • 做电子商务系统网站建设云匠网系统
  • 江苏徐州网站建设威海信息网
  • 佛山微网站建设天博wordpress登录页面创建
  • 艺术学院网站建设管理办法武乡网站建设
  • 怎么把网站整站下载网易企业邮箱收费吗
  • 上海建筑设计院有限公司是国企吗资源网站优化排名
  • 黑马程序员官方网站购物网站建站规划
  • 开一个免费网站重庆相亲网
  • 京东的网站建设分析网站建设 方案 评价表