刚开始实习,需要用python写脚本,记录一下常用的文件 *** 作。文件 *** 作需要用到的库:os
路径 *** 作获取当前路径:os.getcwd(),返回值为一个字符串。例如:rootdir = os.getcwd() 路径拼接:os.path.join(parameter1,parameter2,parameter3.....),返回值会按照参数顺序将之拼接为一个路径。例如: 当前目录的上级目录:rootdir = os.path.join(os.getcwd(),"..") 当前目录下的path1目录:rootdir = os.path.join(os.getcwd(),“path1”) 判断文件是否存在:if os.path.isfile(path):path表示文件路径。例如:if os.path.isfile(rootdir+"file.txt"): 判断文件夹是否存在:if os.path.exists(path):path表示文件夹。例如:if os.path.isfile(rootdir): 路径 *** 作举例:
import os#获取当前路径print ‘***PathNow***‘print os.getcwd()print os.path.abspath(os.path.dirname(__file__))#获取上级路径print ‘***HighPath***‘print os.path.abspath(os.path.dirname(os.path.dirname(__file__)))print os.path.abspath(os.path.dirname(os.getcwd()))print os.path.abspath(os.path.join(os.getcwd(),".."))#获取上上级路径print ‘***HigherPath***‘print os.path.abspath(os.path.join(os.getcwd(),"../.."))
依次输出py文件所在的绝对路径和上级绝对路径
文件的遍历:List = os.Listdir(path1) for i in range(0,len(List)): path = os.path.join(rootdir,List[i])
List是path1下的文件列表,path是path1下的文件绝对路径文件的指定查找:
文件的查找 第一种查找方法:字符串分割if os.path.splitext(path)[1]==".txt"
“.txt”为文件绝对路径的后缀,path表示文件绝对路径,路径最后一层为文件名
实现函数举例def delate_type_file(target,filetype): rootdir = os.path.join(os.getcwd(),target) List = os.Listdir(rootdir) #列出文件夹下所有的目录与文件 for i in range(0,len(List)): path = os.path.join(rootdir,List[i]) if os.path.splitext(path)[1]==".txt":#.txt为文件后缀,用filetype替换 print(os.path) os.remove(path)
filetype为文件名后缀
第二种查找方法:判断文件绝对路径的截止字符if f.endswith(".txt")
".txt“表示文件绝对路径后缀,path表示文件绝对路径,路径最后一层为文件名
实现函数举例:def delate_type_file2(target,target) List = os.Listdir(rootdir) #列出文件夹下所有的目录与文件 for f in List: if f.endswith(".txt") #".txt"为文件后缀,可用filetype替换 #文件 *** 作
filetype为文件名后缀
文件的删除 先判断是否要删除的绝对路径为有效文件,之后删除if os.path.isfile(path): os.remove(path)
os.remove函数参数为字符串,表示要删除的文件所处的绝对路径
删除函数举例:#文件的删除:删除当前目录下target文件夹中的所有文件def delate_file(target): rootdir = os.path.join(os.getcwd(),target) print rootdir List = os.Listdir(rootdir) #列出文件夹下所有的目录与文件 for i in range(0,List[i]) if os.path.isfile(path): print(os.path) os.remove(path)
target为当前py文件所在的文件夹中的一个子文件名
文件的重命名 调用函数:os.rename,需要传入两个参数。第一个参数为文件原始绝对路径,第二个参数为文件新的绝对路径#path路径下把后缀为old_name的文件修改为后缀为new_name的文件def rename_file(path,old_name,new_name): List = os.Listdir(path) for f in List: portion = os.path.splitext(f) if portion[1] == old_name: new = portion[0] + new_name filenamedir = path + "\" + f newnamedir = path + "\" + new print(filenamedir) print(newnamedir) os.rename(filenamedir,newnamedir)
filenamedir为原始文件绝对路径,newnamedir为新文件绝对路径
文件的复制 需要调用shutil库的copyfile函数,copyfile函数需要传入两个参数。第一个参数为文件原始绝对路径,第二个参数为文件新的绝对路径#文件的复制:从路径1复制指定类型的文件到路径2,需要调用shutil库的copyfile函数from shutil import copyfiledef copy_file(path1,path2,last_name): List = os.Listdir(path1) #列出文件夹下所有的目录与文件 for i in range(0,List[i]) if path.enDWith(last_name): copyfile(path1,path2)总结
以上是内存溢出为你收集整理的Python脚本随笔-文件 *** 作全部内容,希望文章能够帮你解决Python脚本随笔-文件 *** 作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)