广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 中目录、文件
  • 876
分享到

python 中目录、文件

文件目录python 2023-01-31 01:01:00 876人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

python中对文件、文件夹的操作需要涉及到os模块和shutil模块。创建文件:1) os.mknod("test.txt")       创建空文件2) open("test.txt",w)           直接打开一个文件,如果文

python中对文件、文件夹的操作需要涉及到os模块和shutil模块。


创建文件:

1) os.mknod("test.txt")       创建空文件

2) open("test.txt",w)           直接打开一个文件,如果文件不存在则创建文件


创建目录:

os.mkdir("file")                   创建目录


复制文件:

shutil.copyfile("oldfile","newfile")       oldfile和newfile都只能是文件

shutil.copy("oldfile","newfile")            oldfile只能是文件夹,newfile可以是文件,也可以是目标目录


复制文件夹:

shutil.copytree("olddir","newdir")        olddir和newdir都只能是目录,且newdir必须不存在


重命名文件(目录)

os.rename("oldname","newname")       文件或目录都是使用这条命令


移动文件(目录)

shutil.move("oldpos","newpos")  


删除文件

os.remove("file")


删除目录

os.rmdir("dir")                   只能删除空目录

shutil.rmtree("dir")            空目录、有内容的目录都可以删


转换目录

os.chdir("path")                  换路径


判断目标

os.path.exists("Goal")          判断目标是否存在

os.path.isdir("goal")             判断目标是否目录

os.path.isfile("goal")            判断目标是否文件



Python读写文件
1.open
使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。

file_object = open('thefile.txt')
try:
    all_the_text = file_object.read( )
finally:
    file_object.close( )

注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。

2.读文件
读文本文件
input = open('data', 'r')
#第二个参数默认为r
input = open('data')


读二进制文件
input = open('data', 'rb')

读取所有内容
file_object = open('thefile.txt')
try:
    all_the_text = file_object.read( )
finally:
    file_object.close( )

读固定字节
file_object = open('abinfile', 'rb')
try:
   while True:
        chunk = file_object.read(100)
       if not chunk:
           break
        do_something_with(chunk)
finally:
    file_object.close( )

读每行
list_of_all_the_lines = file_object.readlines( )

如果文件是文本文件,还可以直接遍历文件对象获取每行:

for line in file_object:
    process line

3.写文件
写文本文件
output = open('data', 'w')

写二进制文件
output = open('data', 'wb')

追加写文件
output = open('data', 'w+')

写数据
file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )

写入多行
file_object.writelines(list_of_text_strings)

注意,调用writelines写入多行在性能上会比使用write一次性写入要高。

在处理日志文件的时候,常常会遇到这样的情况:日志文件巨大,不可能一次性把整个文件读入到内存中进行处理,例如需要在一台物理内存为 2GB 的机器上处理一个 2GB 的日志文件,我们可能希望每次只处理其中 200MB 的内容。
在 Python 中,内置的 File 对象直接提供了一个 readlines(sizehint) 函数来完成这样的事情。以下面的代码为例:

file = open('test.log', 'r')sizehint = 209715200   # 200Mposition = 0lines = file.readlines(sizehint)while not file.tell() - position < 0:       position = file.tell()       lines = file.readlines(sizehint)

每次调用 readlines(sizehint) 函数,会返回大约 200MB 的数据,而且所返回的必然都是完整的行数据,大多数情况下,返回的数据的字节数会稍微比 sizehint 指定的值大一点(除最后一次调用 readlines(sizehint) 函数的时候)。通常情况下,Python 会自动将用户指定的 sizehint 的值调整成内部缓存大小的整数倍。

file在python是一个特殊的类型,它用于在python程序中对外部的文件进行操作。在python中一切都是对象,file也不例外,file有file的方法和属性。下面先来看如何创建一个file对象:


file(name[, mode[, buffering]])
file()函数用于创建一个file对象,它有一个别名叫open(),可能更形象一些,它们是内置函数。来看看它的参数。它参数都是以字符串的形式传递的。name是文件的名字。
mode是打开的模式,可选的值为r w a U,分别代表读(默认) 写 添加支持各种换行符的模式。用w或a模式打开文件的话,如果文件不存在,那么就自动创建。此外,用w模式打开一个已经存在的文件时,原有文件的内容会被清空,因为一开始文件的操作的标记是在文件的开头的,这时候进行写操作,无疑会把原有的内容给抹掉。由于历史的原因,换行符在不同的系统中有不同模式,比如在 unix中是一个\n,而在windows中是‘\r\n’,用U模式打开文件,就是支持所有的换行模式,也就说‘\r’ '\n' '\r\n'都可表示换行,会有一个tuple用来存贮这个文件中用到过的换行符。不过,虽说换行有多种模式,读到python中统一用\n代替。在模式字符的后面,还可以加上+ b t这两种标识,分别表示可以对文件同时进行读写操作和用二进制模式、文本模式(默认)打开文件。
buffering如果为0表示不进行缓冲;如果为1表示进行“行缓冲“;如果是一个大于1的数表示缓冲区的大小,应该是以字节为单位的。

file对象有自己的属性和方法。先来看看file的属性。


closed #标记文件是否已经关闭,由close()改写
encoding #文件编码
mode #打开模式
name #文件名
newlines #文件中用到的换行模式,是一个tuple
softspace #boolean型,一般为0,据说用于print

file的读写方法:


F.read([size]) #size为读取的长度,以byte为单位
F.readline([size])
#读一行,如果定义了size,有可能返回的只是一行的一部分
F.readlines([size])
#把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。
F.write(str)
#把str写到文件中,write()并不会在str后加上一个换行符
F.writelines(seq)
#把seq的内容全部写到文件中。这个函数也只是忠实地写入,不会在每行后面加上任何东西。
file的其他方法:


F.close()
#关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。如果一个文件在关闭后还对其进行操作会产生ValueError
F.flush()
#把缓冲区的内容写入硬盘
F.fileno()
#返回一个长整型的”文件标签“
F.isatty()
#文件是否是一个终端设备文件(unix系统中的)
F.tell()
#返回文件操作标记的当前位置,以文件的开头为原点
F.next()
#返回下一行,并将文件操作标记位移到下一行。把一个file用于for ... in file这样的语句时,就是调用next()函数来实现遍历的。
F.seek(offset[,whence])
#将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。
F.truncate([size])
#把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。



--结束END--

本文标题: python 中目录、文件

本文链接: https://www.lsjlt.com/news/184519.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 中目录、文件
    python中对文件、文件夹的操作需要涉及到os模块和shutil模块。创建文件:1) os.mknod("test.txt")       创建空文件2) open("test.txt",w)           直接打开一个文件,如果文...
    99+
    2023-01-31
    文件 目录 python
  • Python -- 文件/目录 方法
    file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:序号方法及描述1file.close()关闭文件。关闭后文件不能再进行读写操作。2file.flush()刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件,...
    99+
    2023-01-31
    文件 目录 方法
  • python 文件 目录操作
    python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一...
    99+
    2023-01-31
    操作 文件 目录
  • Python目录下中没有Script文件
    Python目录中没有Script文件夹,里面是些easy_install相关的内容,直接安装setuptools即可自动生成Script文件夹。 到https://pypi.python.org/pypi/setuptools下载 ez...
    99+
    2023-01-31
    文件 目录下 Python
  • python新建文件或目录
    python新建文件或目录: import os 新建文件:os.mknod("/home/aa.txt") 新建目录:os.mkdir("/home/aa") 新建多级目录:os.makedirs("/home/bb/cc")...
    99+
    2023-01-31
    文件 目录 python
  • python---备份目录和文件
    为重要的文件进行备份:思路:1.需要备份的文件和目录由一个列表指定。2.备份应该保存在主备份目录中。3.文件备份成一个tar.gz文件。4.zip存档的名称是当前的日期和时间。5.我们使用标准的tar.gz命令.#!/usr/bin/env...
    99+
    2023-01-31
    备份 文件 目录
  • python中如何重命名文件或目录
    python中重命名文件或目录的方法:1、在win操作系统中找到python程序目录;2、打开idle工具;3、在idle中新建一个shell脚本;4、输入“import os”指令导入os模块;5、通过“os.rename(old,new...
    99+
    2022-10-13
  • Linux中操作工作目录和文件目录
    工作目录是指用户当前在系统中所处的位置,文件目录则是日常使用时必备的操作pwd显示当前所处的工作目录,格式pwd[选项]cd切换工作路径,格式为“cd[选项]”这应该是最常用的一个Linux命令了,可以通过cd快速、灵活的切换到不同的工作目...
    99+
    2023-06-05
  • python监控文件或目录变化
    本文实例实现的功能是监控一个文件或目录的变化,如果有变化,把文件上传备份至备份主机,并且要监控上传过程是否有问题等,具体内容如下 #!/usr/bin/env python #coding=utf-8...
    99+
    2022-06-04
    文件 目录 python
  • python怎么在指定目录中创建文件
    在Python中,可以使用`open()`函数来创建文件。指定目录中创建文件的方法是,在`open()`函数中传入文件的路径和名称。...
    99+
    2023-09-14
    python
  • python文件目录操作之os模块
    一、os函数目录 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作目录 3 os.chflags(path, ...
    99+
    2022-06-02
    Python os模块 python文件目录操作
  • python目录与文件名操作例子
    1、操作目录与文件名 #!/usr/bin/env python #-*- coding: utf-8 -*- import os,re import shutil import time 用l...
    99+
    2022-06-04
    文件名 例子 操作
  • Python 3 学习笔记:目录&文件处
    路径 路径,用于定位目录或文件的字符串。 相对路径 相对路径依赖于当前工作目录(即当前文件所在的目录),可以使用如下函数获取当前工作目录, 1os.getcwd()复制在当前工作目录中,可以使用相对路径访问这个目录中的所有子目录和其中的文件...
    99+
    2023-01-31
    学习笔记 文件 目录
  • Python文件及目录处理的方法
    目录一、目录操作 1. 获取当前代码路径 2. 获取当前文件__file__的所在目录 3. 获取当前文件名名称 4. 拼接路径 5. 创建目录 二、文件操作 1. 创建文本文件 2...
    99+
    2022-11-12
  • python中针对同一目录或不同目录下的其他文件或文件夹的import用法
    在Python中,import关键字用于导入其他文件或模块的内容,让你可以在当前文件中使用这些内容。下面我将介绍如何使用import来导入同一目录或不同目录下的文件或文件夹。 导入同一目录下的文件或模块: 如果你要导入与当前文件位于同一目...
    99+
    2023-09-03
    python 数据分析
  • Python读取一个目录下所有目录和文件的方法
    本文实例讲述了Python读取一个目录下所有目录和文件的方法。分享给大家供大家参考,具体如下: 这里介绍的是刚学python时的一个读取目录的列子,给大家分享下: #!/usr/bin/python #...
    99+
    2022-06-04
    文件 目录 方法
  • python判定文件目录是否存在及创建多层目录
    目录前言1、os模块(1)判断文件是否存在(2)判断文件夹是否存在(3)其他(4)创建多层目录(5)创建单层目录(6)判断文件是否可以读写2、try语句3、pathlib前言 通常在...
    99+
    2022-11-11
  • Python中列出目录中的文件的五种方法
    1. 引言 文件和目录相关操作是软件工程师必备的基本技能。 我不是说将一个文件复制到Windows文件资源管理器上的另一个文件夹中。 我是说使用代码来进行自动化批量处理操作。 今天,我们将深入探讨一个...
    99+
    2023-08-31
    python
  • Python中列出目录中的文件方法有哪些
    这篇文章主要介绍了Python中列出目录中的文件方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中列出目录中的文件方法有哪些文章都会有所收获,下面我们一起来看看吧。1. 引言文件和目录相关操...
    99+
    2023-07-05
  • Python遍历目录中的所有文件的方法
    os.walk生成器 os.walk(PATH), PATH是个文件夹路径,当然可以用.或者../这样啦. 返回的是个三元元组为元素的列表, 每个元素代表了一个文件夹下的内容.第一个就是当前文件夹下内容. ...
    99+
    2022-06-04
    遍历 文件 方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作