首页 > 其他分享 >OS模块和shutil模块的对文件操作

OS模块和shutil模块的对文件操作

时间:2024-03-05 23:34:57浏览次数:25  
标签:文件 shutil OS 文件夹 模块 txt os

OS模块的对文件操作

os新建和删除

import os
import shutil

mknod

#创建文件
#实现在Linux系统可以 windows系统不可以
os.mknod("1.txt") # 

remove

#删除文件
os.remove("集合2.png") 

mkdir

#创建目录
os.mkdir("ceshi111")

rmdir

# 删除目录
os.rmdir("ceshi111")

rename

# 修改当前文件的默认路径
os.rename("2.txt","3.txt")

makerdirs

# 递归创建文件夹
os.makedirs("a/b/c/d/e/f")

removedirs

# 递归删除文件夹(空文件夹)  必须是空文件夹
os.removedirs("a/b/c/d/e/f")

sep

# 获取路径的分割符 linux mac  -> /  windows -> \
print(os.sep)

linesep

# 获取系统的换行符号
print(os.linesep)

print(repr(os.linesep))  # 原型打印一下

shutil模块的对文件操作

copyfileobj

#copyfileobj(fsrc, fdst[, length=16*1024])
"""
复制文件 (length的单位是字符(表达一次读多少字符/字节))
16*1024 字节(16 KB)
"""

fp_src = open("3.txt",mode="r",encoding="utf-8")
fp_dst = open("4.txt",mode="w",encoding="utf-8")
shutil.copyfileobj(fp_src,fp_dst)

copyfile

#copyfile(src,dst)   
#单纯的仅复制文件内容 , 底层调用了 copyfileobj
shutil.copyfile("4.txt","5.txt")

copymode

#copymode(src,dst)   
#单纯的仅复制文件权限 , 不包括内容  (虚拟机共享目录都是默认777)
"""注意: 要先有两个文件才可以,不会默认创建"""
shutil.copymode("4.txt","5.txt")

copystat

#copystat(src,dst)   
#复制所有状态信息,包括权限,组,用户,修改时间等,不包括内容
shutil.copystat("4.txt","5.txt")

copy

#复制文件权限和内容
shutil.copy("5.txt","6.py")

copy2

#复制文件权限和内容,还包括权限,组,用户,时间等
shutil.copy2("5.txt","7.py")

copytree

#拷贝文件夹里所有内容(递归拷贝)
#参数2不需要提前建立
#比os模块有优势
shutil.copytree("lianxi","lianxi2")

rmtree

#删除当前文件夹及其中所有内容(递归删除)
shutil.rmtree("lianxi2")

move

#移动文件或者文件夹
shutil.move("7.py","lianxi/888.php") #边复制边改名
shutil.move("7.py","/888.php")

标签:文件,shutil,OS,文件夹,模块,txt,os
From: https://www.cnblogs.com/wbcde116/p/18055545

相关文章

  • OS模块
    OS模块importossystem#在python中执行命令#实现在Linux系统可以windows系统不建议使用因为是GBK编码会乱码os.system("ipconfig")#windowscmdpopenimportosobj=os.popen("ipconfig")print(obj.read())#自动转换为字符串listdir#获取指定文件夹中所有内容的......
  • Centos下安装iperf3并注册成服务[原创]
    iperf3网络测速工具非常强大并可靠,下面介绍如何在LinuxCentos下部署方法,并且注册成服务一、安装iperf3打开终端并执行命令`sudoyuminstalliperf3`来安装iperf3。二、配置服务配置1、创建配置文件,文件名为iperf3.service:命令: vim/usr/lib/systemd/system/iperf......
  • 微信小程序开发:循环定时删除阿里云oss上传的文件
    上文有说到我们开发了定时删除阿里云oss的功能,但是一次只能删除10条。本文我们做到一次删除全部过期的文件。实现:使用while循环,在循环里获取是否还有已过期的,没有就break掉,有就走删除逻辑。开始代码部分: 逻辑还是比较简单的,一个while循环,每次查找20条已过期的数据,如果没有......
  • docker安装postgreSql
    拉取镜像控制台运行以下代码(如果需要指定版本,则将latest改为对应的版本号)dockerpullpostgres:latest创建容器dockerrun-it--namepostgresql--privileged-ePOSTGRES_PASSWORD=123456-p5432:5432-vC:\SolutionSpace\docker\postgresql:/var/lib/postgresql/data......
  • centos7 xfreerdp安装及远程执行Windows脚本
    1、yuminstallfreerdp2、centos7需要安装桌面环境,并设置从桌面启动3、xfreerdp使用  xfreerdp/u:Administrator/p:Password123/drive:data,/root/app:cmd.exe/app-cmd:"cmd.exe/knetuseX:\\tsclient\data&X:&mimi.bat"/v:192.168.0.100  /u:账号 ......
  • Pokemon Go自動走路 iOS/Android 在家玩寶可夢不用出門 不用移動
    有時您可能想知道如何在不動的情況下玩PokemonGo。好消息是,我們將為您介紹PokemonGo自動步行,以偽造GPS位置。PokemonGo欺騙器將作為位置變換器引入。閱讀更多有關如何在PokemonGo中無需步行即可移動的方法。第1部分.是否可以不動地玩PokemonGO 在家玩寶可夢......
  • centos 安装nodejs 18版本时,需要 glibc > 2.28
    前置条件1.make版本号4.32.gcc版本号12.2.0进行glibc-2.28配置时:../configure--prefix=/usr/local/glibc-2.28--disable-profile--enable-add-ons--with-headers=/usr/include--with-binutils=/usr/bin 遇到的错误:inux-gnu/12.2.0/include-fixed-isystem/......
  • AP9180 内置 MOS 管升压型恒流驱动芯片
    概述    AP9180是一款高效率、高精度的升压型大功率LED灯恒流驱动芯片。AP9180内置高精度误差放大器,固定关断时间控制电路,恒流驱动电路等,特别适合大功率、多个高亮度LED灯串的恒流驱动。AP9180采用固定关断时间的控制方式,其工作频率最高可达350KHz,可使外部电感和......
  • Add correct host key in /root/.ssh/known_hosts to get rid of this message
    这是因为使用ssh登录后的服务器,因为某些原因被重置了,再次登录的使用的老的秘钥不再可以使用,这里需要删除重新设置查询cat/root/.ssh/known_hosts登录机器的ip以及对应的密码删除方法,删除ip对应的秘钥ssh-keygen-f"/root/.ssh/known_hosts"-R"192.168.31.10"......
  • 学习笔记:AutoSTG
    AutoSTG:NeuralArchitectureSearchforPredictionsofSpatio-TemporalGraph期刊会议:WWW2021论文地址:https://dl.acm.org/doi/10.1145/3442381.3449816代码地址:https://github.com/panzheyi/AutoSTG总结AutoSTG不仅自学网络权重,还自学网络结构。网络结构的学习采用Dar......