精华内容
下载资源
问答
  • Python文件夹和文件操作 因工作中常常用到对文件夹和文件的操作特别搜集一些资料并验证写一下心得供自己以后查找使用。常用的文件夹和文件操作类为os和shutil 一、os类对于文件夹和文件操作的方法 新建文件或...

    Python对文件夹和文件操作

    因工作中常常用到对文件夹和文件的操作特别搜集一些资料并验证写一下心得供自己以后查找使用。常用的文件夹和文件操作类为os和shutil
    

    一、os类对于文件夹和文件操作的方法

    新建文件或文件夹
    1、os.mknod(filename) 在“当前目录下”创建一个空的filename文件。
    2、os.mkdir(filedir) 创建单个目录,创建文件夹。
    3、os.makedirs(r“dirname”) 创建多级目录。

    打开文件
    os.open(filename,“w”,encoding=“utf-8”) 打开一个filename文件,如果不存在就“在当前目录下”创建这个文件。
    其中第二个参数
    “r”为只读模式 只读模式不能写入数据
    “w”为写模式 写模式,新建一个文件写入数据
    “r+”为可读写模式 读写模式,写在原文件内容最后追加,无原文件则新建
    “a”为追加模式 追加模式,在原文件内容最后追加,无原文件则新建
    “rb” 以二进制读模式打开
    “wb” 以二进制写模式打开 (参见 w )
    ”ab“ 以二进制追加模式打开 (参见 a )
    “rb+” 以二进制读写模式打开 (参见 r+ )
    ”wb+“ 以二进制读写模式打开 (参见 w+ )
    ”ab+“ 以二进制读写模式打开 (参见 a+ )

    关闭文件
    file = os.open(filename,“w”,encoding=“utf-8”)
    file.ciose() 关闭已打开的文件。

    读取文件内容
    file = os.open(filename,“r+”,encoding=“utf-8”)
    1、file.read(size) 对打开的文件进行全文读写,文件太大时禁用此语句,size为读写长度,不写默认这个文件。
    2、file.readline(size) 对打开的文件逐行读写,每执行一次读取下一行,size为读写长度,不写默认整行。
    3、file.readlines([size]) 把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。

    写入文件内容
    1、file.write(str) 把str写到文件中,write()并不会在str后加上一个换行符
    2、file.writelines(seq) 把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。
    3、file.tell() 返回文件操作标记的当前位置,以文件的开头为原点
    4、fp.next() 返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。

    修改文件夹和文件名称
    os.rename(oldname,newname) 重命名文件或文件夹

    删除文件夹或文件
    1、os.remove(filename) 删除相对路径上的“filename”指定文件
    2、os.rmdir(dir) 只能删除空目录
    3、os.removedirs(r“dirname”) 删除多个目录

    os的其它操作
    1、os.listdir(dirname) 返回指定目录下的所有文件和目录名
    2、os.chdir(path) 换路径
    3、os.getcwd() 得到当前Python脚本工作的目录路
    4、os.stat(file) 获取文件属性
    5、os.chmod(file) 获取文件权限和时间戳
    6、os.path.split(‘filedir/filename’) 返回一个路径的目录名和文件名, 结果(filedir,filename)
    7、os.path.splitext(filename) 分离扩展名
    8、os.path.dirname(path) 获取路径名
    9、os.path.basename(path) 获取文件名
    10、os.path.isabc(name) 判断name是否为绝对路径
    11、os.path.exists(name) 判断name是否存在
    12、os.path.isdir(name) 判断name是否目录
    13、os.path.isfile(name) 判断name是否文件
    14、os.path.join(filedir,filename) 路径链接,把文件路径和文件名组合成绝对文件路径
    15、os.path.getsize(filename) 获取文件大小

    二、shutil类对于文件夹和文件操作的方法
    引入方法import shutil

    1、shutil.copy(‘来源文件’,‘目标地址’) 返回复制后的路径
    2、shutil.copy2(‘来源文件’,‘目标地址’) 复制文件,保留元数据
    3、shutil.copyfileobj(open(来源文件,‘r’),open(‘目标文件’,‘w’)) 将一个文件的内容拷贝的另外一个文件当中,无返回值。
    4、shutil.copyfile(来源文件,目标文件) 将一个文件的内容拷贝的另外一个文件当中,返回目标文件路径,来源和目标必须全为文件
    5、shutil.copytree(来源目录,目标目录) 复制整个文件目录,无论文件夹是否为空,均可以复制,而且会复制文件夹中的所有内容,而且目标目录不许不存在。
    6、shutil.rmtree(目录路径) 移除整个目录,无论是否空
    7、shutil.move(来源地址,目标地址) 移动文件或者文件夹

    三、文件夹,文件遍历函数os.walk()

    cios.walk的函数声明为:
    walk(top, topdown=True, οnerrοr=None, followlinks=False)
    参数
    top 是你所要便利的目录的地址
    topdown 为真,则优先遍历top目录,否则优先遍历top的子目录(默认为开启)
    onerror 需要一个 callable 对象,当walk需要异常时,会调用
    followlinks 如果为真,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)

    os.walk 的返回值是一个生成器(generator),也就是说我们需要不断的遍历它,来获得所有的内容。
    每次遍历的对象都是返回的是一个三元组(root,dirs,files)
    root 所指的是当前正在遍历的这个文件夹的本身的地址
    dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
    files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
    如果topdown 参数为真,walk 会遍历top文件夹,与top文件夹中每一个子目录。

    简单实例:

    import os
    #r"E:\test\2019"其中的r为不含转义字符,原始字符串
    pathname = r"E:\test\2019"
    #for循环遍历os.walk()返回的链表,
    for root,dirs,files in os.walk(pathname,topdpwn = False):
    	#遍历目录下所有文件夹名称并打印
    	for dir in dirs:
    		print("此E:\test\2019目录下文件夹有"dir)
    	#遍历目录下所有文件名称并打印
    	for file in files:
    		print("此E:\test\2019目录下文件有",file)
    展开全文
  • 1、获取文件当前路径 import os # 导入模块 file_01=os.path.dirname('__file__') # 获取当前文件名 print(file_01) file_02=os.path.abspath(file_01) # ...# 新建文件夹 file_04=os.path.join(file_02,'哈哈') ...

    1、获取文件当前路径

    import os  # 导入模块
    file_01=os.path.dirname('__file__')   # 获取当前文件名
    print(file_01)
    
    file_02=os.path.abspath(file_01)  # 获取当前文件绝对路径
    print(file_02)
    
    # 新建文件夹
    file_04=os.path.join(file_02,'哈哈')  # 文件夹路径和文件名拼接
    if not os.path.exists(file_04):  # 判断文件当前路径是否已存在文件夹
        os.mkdir(file_04)   # 将拼接好的文件路径进行新建文件夹
    print(file_04)
    
    # 新建文件
    file_05=os.path.join(file_04,'result.html')   # 拼接要建的文件路径
    with open(file_05,'w') as f:  # 打开文件,不存在就新建
        print('文件新建完成')
    
    展开全文
  • # 新建文件夹 os.system('mkdir .pathname')# 注意目录名前有个. os.makedirs('path') #多层创建目录 os.mkdir('path') #创建单层目录 # 新建文件 os.system('type NUL > a.txt')#仅限windows平台 file=open...
    import os
    # 新建文件夹
    os.system('mkdir .pathname')# 注意目录名前有个.
    os.makedirs('path') #多层创建目录
    os.mkdir('path') #创建单层目录
    # 新建文件
    os.system('type NUL > a.txt')#仅限windows平台
    file=open(filename, "w") file.close()#通用
    
    展开全文
  • python新建和删除文件

    2018-11-15 16:42:43
    import os import shutil p = "要删除的文件夹地址"...os.mkdir(p) # 新建文件夹 path = "文件地址" os.remove(path) # 删除文件shutil.move(srcfile,dstfile) # 移动文件(不是复制)...
    import os
    import shutil
    
    p = "要删除的文件夹地址"
    shutil.rmtree(p) # 把整个文件夹删掉(无论是不是满的)
    os.rmdir(p)  # 删除空文件夹
    os.mkdir(p)  # 新建文件夹
    
    path = "文件地址"
    os.remove(path) # 删除文件shutil.move(srcfile,dstfile) # 移动文件(不是复制)

     

    展开全文
  • pycharm右键新建时会有目录(文件夹)和python package两个选项,这两个到底有什么不同呢 1.原来在python模块的每一个包中,都有一个__init__.py文件(这个文件定义了包的属性方法)然后是一些模块文件和子目录,...
  • python 如果文件夹不存在则新建

    千次阅读 2020-08-19 17:24:59
    每次想在新的位置输出文件时,都需要去自己新建几层的文件夹,这里记录一下如何让程序自动执行“若文件夹不存在则自动新建”: import os folder = folder_path ...参考:python创建文件和文件夹 ...
  • pycharm右键新建时会有目录(文件夹)和python package两个选项,这两个到底有什么不同呢 1.原来在python模块的每一个包中,都有一个__init__.py文件(这个文件定义了包的属性方法)然后是一些模块文件和子目录,...
  • python的一个包是一个带有特殊文件__init__.py的目录。__init__.py文件定义了包的属性方法。其实它可以什么也不定义;可以只是一个空文件,但是必须存在。如果 __init__.py 不存在,这个目录就仅...
  • python清空文件夹

    千次阅读 2019-01-01 21:39:33
    要清空一个文件夹,可以通过删除该文件夹再新建一个一样的文件夹来达到清空文件夹的效果 import os import shutil ...shutil.rmtree(dirpath) # 能删除该文件夹和文件夹下所有文件 os.mkdir(dirpath)  ...
  • 一般情况下,import的文件和被import的文件在同一个路径下面,import也比较方便。...比如被import的文件路径是../A/B/b.py下面,那么在在文件夹A、B下面分别新建一个__init__.py文件,然后按照下面的语句引用:...
  • Python分割文件夹

    2020-11-25 21:27:00
    当一个文件夹下面有很多小文件时,会导致打开文件夹的速度变慢,这时需要新建一些子文件夹,将小文件重新归类。 1. os.listdir filter 在python中,通过os.listdir读取文件夹下的文件名,如果我们只希望对某种...
  • 代码 import os import pandas as pd path_list = [] #新建一个dataframe类型 #df = pd.DataFrame(data=None)#columns = [] #print(df) ... paths = os.listdir(path) # 列出指定路径下的所有目录和文件
  • 前两天采集了一些数据,数据量2000多张图片,图像命名为0.jpg、1.jpg、2.jpg……为了分散标注管理这些数据,新建一些文件夹文件命名为0、1、2、3。。。,每个文件夹中存放500张图片,便于后期标注管理。 在...
  • 这几天玩ctf发现一个问题,python代码新建文件文件夹的目录问题。这是一个小问题,但有时候稍不注意也会八人弄懵了,废话不多说,进入主题。 当你在d:/python 目录下用ide(这里我用的是pycharm)运行这样的代码...
  • 1.os模块的常用目录处理函数 mkdir(path,[mode=0777]) 创建一个path指定的...makedirs(name,mode=511) 创建多级目录,如'd:/path1/path2/'则在d盘中新建一个path1然后再在path1目录中新建一个path2 rmdir(path)
  • 新建一个 python 文件,复制以下代码,运行时指定一下 ignore_list direction_path 即可快速生成文件夹目录结构图。 import re from pathlib import Path from pathlib import WindowsPath from typing import ...
  • python3 删除 文件 文件夹

    千次阅读 2020-02-05 19:43:44
    使用python删除一个文件文件夹,需要使用os模块。 import os os.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除 os.rmdir(path) # path是文件夹...
  • python批量新建文件

    2020-04-02 19:07:41
    1、创造一个createFile()新建文件夹的方法来实现新建文件夹: 在createFile()方法中需要判断新建的文件夹是否已存在,来完成新建文件,避免报错。 def createFile(dirPath): dirPath_d = Path+dirPath+"\\...
  • #用于判断文件路径是否存在创建文件夹 import os #用于删除文件夹目录 import shutil path = 'c:\\test\\' if os.path.exists(path): shutil.rmtree(path) os.mkdir(path) for i in range(5): os.mkdir(path+...
  • python文件文件夹相关操作 作用:把一些数据存储起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份。可持久化存储数据。 一、文件的打开关闭(文件) 1、打开文件 1.1 open 语法格式: 文件变量 ...
  • Python_文件文件夹目录命令

    千次阅读 2018-08-16 11:25:49
    Python中对文件文件夹操作时经常用到的os模块shutil模块常用方法 一、OS模块一般实现文件文件夹,路径的新建,查看,删除,以及路径的一些操作 1.得到当前工作目录,即当前Python脚本工作的目录路径: os....
  • 使用python删除一个文件文件夹,需要使用os模块。...os.unlink('F:\新建文本文档.txt') # unlink的功能remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。 import os pat.
  • 使用python删除一个文件文件夹,需要使用os模块。 import os os.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除 os.rmdir(path) # path是文件夹...
  • python删除一个文件文件夹,需要使用os模块。...os.unlink('F:\新建文本文档.txt') # unlink的功能remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。 import os path = '
  • import os os.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的...os.unlink('F:\新建文本文档.txt') # unlink的功能remove一样是删除一个文件,但是删除一个删除一个正在使用的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 510
精华内容 204
关键字:

python新建文件夹和文件

python 订阅