iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python文件操作--复制
  • 491
分享到

python文件操作--复制

操作文件python 2023-01-31 01:01:04 491人浏览 独家记忆

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

摘要

文件的写入和文件的读取一样,文件的写入也有多种方法,write()和writelines()方法。二者之间的区别是:write()方法用于将字符串写入文件,如果要写入文件的字符串不多,使用write()方法即可,writelines()用于

文件的写入
和文件的读取一样,文件的写入也有多种方法,write()和writelines()方法。
二者之间的区别是:
write()方法用于将字符串写入文件,如果要写入文件的字符串不多,使用write()方法即可,

writelines()用于将列表中存储的字符串写入到文件中,用于将大量的字符串写入到文件中,以提高效率。
例如:
myfile = ("hello.txt", "aw+")
temp = ["hello world!\n"]
myfile.writelines(temp)    #writelines()的使用

strin ="hello!"
myfile.write(strin)              #write()的使用
myfile.close()

文件的删除
文件的删除需要使用到os模块和os.path模块。os提供了对系统环境,文件,目录等操作系统级的接口函数。
文件的删除使用remove()函数。
演示如下:
myfile = ("myfile.txt", "w+")
if os.path.exists("myfile.txt"):     #判断文件是否存在,注意后面的冒号
os.remove("myfile.txt")       



文件的复制
file类中没有提供专门的文件复制函数,因此只能通过使用文件的读写函数来实现文件的复制。这里仅仅给出范例:
src = file("myfile.txt", "w+")
temp = ["hello world! \n"]
src.writelines(temp)
src.close()

src = file("myfile.txt", "r+")
des = file("myfile2.txt", "w+")
des.writelines(src.read())
src.close()
des.close()

shutil模块是另一个文件,目录的管理接口,提供了一些用于复制文件,目录的函数。

copyfile()函数可以实现文件的拷贝,声明如下:
copyfile(src, des)
文件的剪切可以使用move()函数模拟,声明如下:
move(src,des)
功能:移动一个文件或者目录到指定的位置,并且可以根据参数des重命名移动后的文件。

使用shutil来实现文件的拷贝
import shutil

shutil.copyfile("myfile1.txt", "myfile2.txt")
shutil.move("myfile1.txt", "../")                 #把myfile1.txt移动到当前目录的父目录,然后删除myfile1.txt
shutil.move("myfile2.txt", "myfile3.txt") #把myfile2.txt移动到当前目录并重命名myfile3.txt

os模块的函数rename()可以对文件或者目录进行重命名。


下面演示文件重命名操作。

如果当前目录存在名为myfile.txt的文件,则重命名为myfile_rename.txt.

import os

li = os.listdir(".")                                   #返回当前目录的文件列表

print li                                               #打印出当前目录包含的文件

if myfile.txt in li:

       os.rename("myfile.txt", "myfile_rename.txt")


上面例子中是修改文件名,但是文件还是统一类型, 文件的后缀名没变,有的时候需要将一种类型的文件改成另一种类型的文件这是就得利用rename()和字符串查找的函数。

示例如下:将后缀名为“html”格式的文件改成“htm”格式的文件

import os

files = os.listdir(".")

for filename in files:

      pos = filename.find(".")

      if filename[pos+1:] == "html" :

             newname = filename[:pos+1] +"htm"

             os.rename(filename, newname)

以上过程还可以通过splitext()来实现,splitext()用于将文件名和后缀名分隔开。

import os

files = os.listdir(".")

for  filename in files :

       li = os.path.splitext(filename)      #返回文件名和后缀名组成的列表

       if li[1] == "html":

              newname = li[0] + "htm"

              os.rename(filename, newname)


路径的匹配可以使用glob模块,返回符合给定匹配条件的文件列表。例如上面的例子需要判断文件后缀是否是“html”类型,可以使用glob()直接进行匹配: glob.glob(“*.html”)



文件内容的查找和替换主要通过演示来说明其实现方法
【1】文件内容的查找:从hello.txt中查找字符串“hello”, 并统计“hello”出现的次数。
import re
myfile = file("hello.txt", "r+")
count = 0
for s in myfile.readlines:          #每次从hello.txt中读取一行,保存到s中


 li = re.findall("hello", s)   #调用findall()查询s, 并将查询到的结果保存到li中


      if len[li] > 0:             

#如果列表元素大于0,则表示查询到字符串“hello”
             count =  count + li.count("hello")
print "查找到" + str(count) + "个hello"   #调用count()统计当前列表中“hello“出现的次数
myfile.close()

【2】文件内容的替换:把hello.txt中的hello全部换为”hi“,并把结果保存到myhello.txt中。
f1 = file("hello.txt", "r")
f2 = file("myhello.txt", "w")
for s in f1.readlines():
      f2.writes(s.replace("hello","hi"))            #调用replace函数将s中

的“hello”替换为“hi”,
                                                                         #并把结果写入myhello.txt中
f1.close()
f2.close()




python中的文件操作和C语言里面的文件操作思想相同,都是分为三步,即打开文件,读写文件,最后要关闭文件,只不过使用的函数不一样罢了。下面就稍微详细点的进行说明:
(1)创建并且打开文件,使用file()或者open()函数,如果要打开的文件存在,则打开,否则创建该文件。
(2)调用read(),write()函数对文件进行读写。
(3)和C语言一样调用close()函数进行关闭文件。

举例如下:
# -*- coding: UTF-8 -*-

myfile = file("hello.txt", "w+")
myfile.write("奥巴马, 美国总统")
myfile.close()

myfile = file("hello.txt","r+")
myfile = read()
print myfile
myfile.close()

文件的读函数:
文件的读函数主要分为readline(), readlines(),read()函数。
readline()每次读取文件的一行,因此需要使用永真式来判断是否已经读到文件结尾。
举例如下:
myfile = file("hello.txt", "r")   #打开文件
while true:                             #读文件
         line = myfile.readline()
         if line:
                 print line
         else:
                 break
myfile.close()                         #关闭文件

readlines()的使用和readline()差不多, 只不过readlines()一次性读取多行,并且也许要通过循环返回列表中的元素。
举例如下:
myfile = file("hello.txt", "r+")
lines = myfile.readlines()   # readlines()的返回值为列表。


if line in lines:                       #逐行读取列表的值
       print line
myfile.close()

read()函数是从文件中一次性读取所有内容,并赋给一个字符串变量。
举例如下:
myfile = file("hello.txt", "r+")
lines = myfile.read()
print  lines
myfile.close()



开发过程中通常要对字典进行排序,复制等操作,和列表一样,字典的排序也采用sorted()函数,字典的复制除了可以使用update()函数外,还可以使用copy()函数,但是得注意二者之间的区别。

 

字典的排序

先来演示字典的排序函数sort()的使用:

dict = {"a":"apple","b":"banana","g":"grape","c":"oreage"}

print dict

#按照key进行排序。items可以用于字典的遍历,返回(key,value)的序列,lampda用于创建匿名函数,并返回计算结果,d[0]表示key

print sorted(dict.items(), key=lampda d:d[0])

#按照value进行排序。同样d[1]表示value

print sorted(dict.items(), key=lampda d:d[1])

 

字典的复制

字典的复制前面用的是update函数,这个方法是将字典A中的数据复制到字典B中,且字典中原有的数据保持不变,从而实现了字典B中数据的扩充。但是sorted不同,将字典A中的数据复制到字典B中,update会清除掉字典B中原有的数据。另外copy函数实现的是字典的浅拷贝,deepcopy函数用于实现深拷贝。

下面演示copy函数的使用。

dict ={"a":"apple","o":"orange"}

dict2 = {"g":"grape","b":"banana"}

dict2 = dict.copy()

print dict2

dict2输出:{"a":"apple","o":"orange"}

浅拷贝只是复制数据,数据的引用并没有被复制,因此新的数据和旧的数据使用同一块内存块,

深拷贝则不一样,它拷贝对象内部所有数据和引用,相当于C语言中指针的作用。例如:字典B浅拷贝字典A中的数据,如果字典B中的数据发生修改,字典A中的数据也将发生变化;但是如果字典B深拷贝字典A中的数据,则即使B中的数据变了,A中也不会变。

下面演示深拷贝和浅拷贝:

import copy

dict ={"a":"apple","o":"orange"}

dict2 ={"b":"banana","p":"pear"}

#copy.deepcopy等价于dict.deepcopy

dict2 = copy.deepcopy(dict)

#copy.copy 等价于dict.copy

dict3 = copy.copy(dict)

dict2["a"]="watermelon"

print dict

dict3["a"]="watermelon"

print dict



--结束END--

本文标题: python文件操作--复制

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

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

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

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

下载Word文档
猜你喜欢
  • python文件操作--复制
    文件的写入和文件的读取一样,文件的写入也有多种方法,write()和writelines()方法。二者之间的区别是:write()方法用于将字符串写入文件,如果要写入文件的字符串不多,使用write()方法即可,writelines()用于...
    99+
    2023-01-31
    操作 文件 python
  • Python复制文件操作实例详解
    本文实例讲述了Python复制文件操作用法。分享给大家供大家参考,具体如下: 这里用python实现了一个小型的自动发版本的工具。这个“自动发版本”有点虚, 只是简单地把debug 目录下的配置文件复制到指...
    99+
    2022-06-04
    详解 实例 操作
  • python 文件操作复习一
    print "当前路径:" print os.getcwd() print "判断是否是一个文件:" print os.path.isfile(os.getcwd()) pr...
    99+
    2023-01-31
    操作 文件 python
  • Python文件操作之二进制文件详解
    目录1.二进制读取模式rb读取模式将读取到的内容写入到文件总结1.二进制读取模式 rt 读取文本文件(默认值) rb 读取二进制文件 file_name = ...
    99+
    2022-11-12
  • python 3.3 复制文件 或 文件
    import shutil import os import os.path #note:src's file unnecessary to be exist src="D:\\360Downloads\\testFile1\\fol...
    99+
    2023-01-31
    文件 python
  • python 文件操作api(文件操作函数)
    python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:...
    99+
    2022-06-04
    操作 文件 函数
  • Python--文件操作
    文件处理流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件  r模式,默认模式,文件不存在则报错 w模式,文件不存在则创建,文件存在则覆盖 a模式,文件不存在则创建,文件存在则不会覆盖,写内容会以...
    99+
    2023-01-30
    操作 文件 Python
  • python 操作文件
     python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 操作前需要 import os; 返回当前目录,不包括文件名: os.getcwd(); 返回指定目录下的所有文件和目录名:os.listdir("...
    99+
    2023-01-31
    操作 文件 python
  • python-文件操作
    文件操作 1.  读 / 写 操作 读取: r (read):只能读不能写,文件不存在就报错 ​#打开文件:    object = open('某txt文件',mode = 'r',encoding = '编码')​#读取文件所有内...
    99+
    2023-01-31
    操作 文件 python
  • 【Python】文件操作
    一、文件的编码 思考:计算机只能识别:0和1,那么我们丰富的文本文件是如何被计算机识别,并存储在硬盘中呢 答案:使用编码技术( 密码本)将内容翻译成0和1存入 编码技术即:翻译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回...
    99+
    2023-10-21
    python
  • python 文件操作
    python基本的文件操作,包括 open,read,write对文件操作流程:1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件 新建一个txt文件,内容是《Yesterday When I Was...
    99+
    2023-01-30
    操作 文件 python
  • python文件操作
    1. 文件操作 open 打开 f = open(文件路径, mode="模式", encoding="编码格式") 最最底层操作的就是bytes 打开一个文件的时候获取到的是一个文件句柄. ...
    99+
    2023-01-30
    操作 文件 python
  • python---文件操作
    一、对文件操作流程1.打开文件,得到文件句柄并赋值给一个变量2.通过文件句柄对文件进行操作3.关闭文件二、文件打开模式f = open("file_test","r",encoding = "utf-8")    #打开文件,“读模式”,只...
    99+
    2023-01-31
    操作 文件 python
  • Python的shutil模块中文件的复制操作函数详解
    copy() chutil.copy(source, destination) shutil.copy() 函数实现文件复制功能,将 source 文件复制到 destination 文件夹中,两个参数都是...
    99+
    2022-06-04
    详解 函数 模块
  • python如何复制文件
    使用python复制文件的方法:1.新建python项目;2.导入os和shutil模块;3.使用os.chdir()方法获取文件夹对象;4.使用shutil.copy()方法复制文件;具体步骤如下:首先,打开python,并新建一个pyt...
    99+
    2022-10-22
  • python 复制文件实现
    使用python实现对文件夹的复制操作file类中没有提供专门的文件复制函数,因此只能通过使用文件的读写函数来实现文件的复制。这里仅仅给出范例:...
    99+
    2023-06-02
  • Python--6 文件操作
    文件通常用于存储数据或应用系统的参数。Python 提供了 OS、 os.path、 shutil 等模块处理文件, 其中包括打开文件、 读写文件、 复制和删除文件等函数。 python文件操作基本流程:   1.打开文件,或者新建立一个...
    99+
    2023-01-30
    操作 文件 Python
  • python文件操作一
    Python 提供了必要的函数和方法进行默认情况下的文件基本操作 open()函数语法:File_object= open(file_name [, access_mode][, buffering]) file_name:file_n...
    99+
    2023-01-31
    操作 文件 python
  • python文件的操作
    首先看看在pycharm输入文件句柄,怎样显示他的定义 f = open('student_msg', encoding='utf-8', mode='a+') # 打开一个文件,赋值给f print(type(f), f) # f文件句...
    99+
    2023-01-31
    操作 文件 python
  • python 文件操作2
    继续讲解文件操作的其他内置方法读取文件句柄的指针指针,就是说,程序读取文件到哪一行了。f = open("Yesterday.txt",'r',encoding="utf-8...
    99+
    2023-01-30
    操作 文件 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作