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')

#--------------------------------------------------------------------------------------------------------------

 

===========================================================================================================================================
===========================================================================================================================================
===========================================================================================================================================
===========================================================================================================================================

posted @ 2019-12-10 20:06  小白龙白龙马  阅读(271)  评论(0编辑  收藏  举报