python下对目录&文件的操作
Windows桌面上:
总文件夹 子文件夹01
文档01.txt
-------------------------------------------------------------------------------------
保存路径:
C:\Users\del\Desktop\总文件夹\文档01.txt
文档:文档01.txt的内容如下:
地球
中国
美国——拉斯维加斯
日本——冲绳
韩国
=================================================================================
==================================================================================
import os
import shutil
#创建目录
#os.mkdir('C:\\Users\\del\\Desktop\\总文件夹\\子文件夹01\\zz子子文件夹01') #当zz子子文件夹01存在时,无法创建,报错
#删除目录,只能删除空目录,如果里面有文件,会报错,不能删除
#os.rmdir('C:\\Users\\del\\Desktop\\总文件夹\\子文件夹01\\zz子子文件夹01')
#删除目录,如果目录里面包含文件,用此语句,就会连目录带文件一起删除
#shutil.rmtree('C:\\Users\\del\\Desktop\\总文件夹\\子文件夹01\\zz子子文件夹01')
#重命名目录
#os.rename('C:\\Users\\del\\Desktop\\总文件夹\\子文件夹01','C:\\Users\\del\\Desktop\\总文件夹\\子文件夹012')
#移动目录,下面示例,将子文件夹01,移动到桌面文件夹下面了,总文件夹下面就没有子文件夹01了
#如果子文件夹01下面包含文件,就连文件也一起移动过去,总文件夹下面同样啥都没有
#shutil.move('C:\\Users\\del\\Desktop\\总文件夹\\子文件夹01','C:\\Users\\del\\Desktop\\桌面文件夹')
#复制目录:shutil.copytree("olddir","newdir")。olddir和newdir都只能是目录,且newdir必须不存在。
#注意第二个目录必须不存在,如果存在则会报错,复制后,第一个目录保持不变,还在原来的里面
#如果原来即第一个目录里面包含文件,则连文件一起复制过去
#注意:此处是把子文件夹01下面的文件复制过去了,子文件夹01没有
#shutil.copytree('C:\\Users\\del\\Desktop\\总文件夹\\子文件夹01','C:\\Users\\del\\Desktop\\桌面文件夹001')
#shutil.copytree('C:\\Users\\del\\Desktop\\总文件夹','C:\\Users\\del\\Desktop\\桌面文件夹001')
#上面是把总文件夹下面的所有复制过去了
#------------------------------------------------------------------------------------------------------------------
#------------------------------------------------------------------------------------------------------------------
#------------------------------------------------------------------------------------------------------------------
#获得当前Python脚本工作的目录路径:
#print(os.getcwd())
#执行结果:C:\Users\del\PycharmProjects\untitled\ff
#------------------------------------------------------------------------------------------------------------------
#返回指定目录下的所有文件和目录名:
#print(os.listdir('C:\\Users\\del\\Desktop\\总文件夹'))
#执行结果:['子文件夹01', '文档01.txt']
#------------------------------------------------------------------------------------------------------------------
#检验给出的路径是否是一个目录:
#print(os.path.isdir('C:\\Users\\del\\Desktop\\总文件夹'))
#print(os.path.isdir('C:\\Users\\del\\Desktop\\总文件夹\\子文件夹01'))
#print(os.path.isdir('C:\\Users\\del\\Desktop\\总文件夹\\文档01.txt'))
#执行结果:
#True
#True
#False
#------------------------------------------------------------------------------------------------------------------
#检验给出的路径是否是一个文件:
#print(os.path.isfile('C:\\Users\\del\\Desktop\\总文件夹'))
#print(os.path.isfile('C:\\Users\\del\\Desktop\\总文件夹\\子文件夹01'))
#print(os.path.isfile('C:\\Users\\del\\Desktop\\总文件夹\\文档01.txt'))
#执行结果:
#False
#False
#True
#------------------------------------------------------------------------------------------------------------------
#判断是否是绝对路径:
#print(os.path.isabs('总文件夹\\子文件夹01'))
#print(os.path.isabs('C:\\Users\\del\\Desktop\\总文件夹\\子文件夹01'))
#执行结果:
#False
#True
#------------------------------------------------------------------------------------------------------------------
#检验路径是否真的存在:
#print(os.path.exists('C:\\Users\\del\\Desktop\\总文件夹\\子文件夹01'))
#print(os.path.exists('C:\\Users\\del\\Desktop\\总文件夹\\子文件夹0111'))
#print(os.path.exists('总文件夹\\子文件夹01'))
#执行结果:
#True
#False
#False
#------------------------------------------------------------------------------------------------------------------
#分离一个路径的目录名和文件名: 返回的是一个元组
#print(os.path.split('C:\\Users\\del\\Desktop\\总文件夹\\文档01.txt'))
#执行结果:
#('C:\\Users\\del\\Desktop\\总文件夹', '文档01.txt')
#------------------------------------------------------------------------------------------------------------------
#分离扩展名: 返回的是一个元组
#print(os.path.splitext('C:\\Users\\del\\Desktop\\总文件夹\\文档01.txt'))
#执行结果:
#('C:\\Users\\del\\Desktop\\总文件夹\\文档01', '.txt')
#------------------------------------------------------------------------------------------------------------------
#获取路径名:
#print(os.path.dirname('C:\\Users\\del\\Desktop\\总文件夹\\文档01.txt'))
#执行结果:
#C:\Users\del\Desktop\总文件夹
#------------------------------------------------------------------------------------------------------------------
#获取文件名:
print(os.path.basename('C:\\Users\\del\\Desktop\\总文件夹\\文档01.txt'))
#执行结果:
#文档01.txt
#------------------------------------------------------------------------------------------------------------------
===========================================================================================================================================
===========================================================================================================================================
===========================================================================================================================================
===========================================================================================================================================
import os
import shutil
#删除一个文件: 把目录 C:\\Users\\del\\Desktop\\总文件 夹下面的 文档01.txt 这个文件删除了
#os.remove('C:\\Users\\del\\Desktop\\总文件夹\\文档01.txt')
#---------------------------------------------------------------------------------------------------------------
#重命名文件: 把目录 C:\\Users\\del\\Desktop\\总文件 夹下面的 文档01.txt 这个文件重新命名为:文档011.txt
#os.rename('C:\\Users\\del\\Desktop\\总文件夹\\文档01.txt','C:\\Users\\del\\Desktop\\总文件夹\\文档011.txt')
#---------------------------------------------------------------------------------------------------------------
#获取文件属性:
#print(os.stat('C:\\Users\\del\\Desktop\\总文件夹\\文档01.txt'))
#os.stat_result(st_mode=33206, st_ino=34058472181990285, st_dev=3301018110, st_nlink=1, st_uid=0, st_gid=0, st_size=50, st_atime=1574778389, st_mtime=1574768166,
st_ctime=1574778374)
#属性:
#st_mode 文件模式:文件类型和文件模式位(权限)。
#st_ino inode 节点号。
#st_dev 该文件所在设备的标识符。
#st_nlink 硬链接的数量。
#st_uid 文件所有者的用户标识符。
#st_gid 文件所有者的组标识符。
#st_size 文件大小(以字节为单位),如果是常规文件或符号链接。符号链接的大小是它所包含的路径名的长度,而不是终止的空字节。
#时间戳:
#st_atime 最近访问的时间以秒表示。
#st_mtime 最近的内容修改时间以秒表示。
#st_ctime 取决于平台:
#Unix上最新的元数据更改时间, 在Windows上创建的时间,以秒表示。 st_atime_ns 最近访问的时间以纳秒表示,以整数表示。
#st_mtime_ns 最新内容修改的时间以纳秒表示,以整数表示。
#st_ctime_ns 取决于平台:
#Unix上最新的元数据更改时间, 在Windows上创建的时间,以纳秒为单位表示为整数。
#---------------------------------------------------------------------------------------------------------------
#打开一个文件,或者打开一个目录 用电脑中的相关的应用程序打开文件
#os.startfile('C:\\Users\\del\\Desktop\\总文件夹\\文档01.txt')
#os.startfile('C:\\Users\\del\\Desktop\\总文件夹')
#--------------------------------------------------------------------------------------------------------------
#获取文件大小:
#print(os.path.getsize('C:\\Users\\del\\Desktop\\总文件夹\\文档01.txt'))
#执行结果:
#50
#--------------------------------------------------------------------------------------------------------------
#复制文件: shutil.copyfile("oldfile","newfile"),oldfile和newfile都只能是文件
#这里复制过去并取了一个新的名字
shutil.copyfile('C:\\Users\\del\\Desktop\\总文件夹\\文档01.txt','C:\\Users\\del\\Desktop\\总文件夹\\子文件夹01\\shenweiwei.txt')
#--------------------------------------------------------------------------------------------------------------
===========================================================================================================================================
===========================================================================================================================================
===========================================================================================================================================
===========================================================================================================================================