我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python文件操作--复制

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python文件操作--复制

文件的写入
和文件的读取一样,文件的写入也有多种方法,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类中没有提供专门的文件复制函数,因此只能通过使用文件的读写函数来实现文件的复制。这里仅仅给出范例:
class="lazy" data-src = file("myfile.txt", "w+")
temp = ["hello world! \n"]
class="lazy" data-src.writelines(temp)
class="lazy" data-src.close()

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

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

copyfile()函数可以实现文件的拷贝,声明如下:
copyfile(class="lazy" data-src, des)
文件的剪切可以使用move()函数模拟,声明如下:
move(class="lazy" data-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



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python文件操作--复制

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

下载Word文档

猜你喜欢

python文件操作--复制

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

Python复制文件操作实例详解

本文实例讲述了Python复制文件操作用法。分享给大家供大家参考,具体如下: 这里用python实现了一个小型的自动发版本的工具。这个“自动发版本”有点虚, 只是简单地把debug 目录下的配置文件复制到指定目录,把Release下的生成文
2022-06-04

python 文件操作复习一

print "当前路径:" print os.getcwd() print "判断是否是一个文件:" print os.path.isfile(os.getcwd()) print "
2023-01-31

python 文件操作api(文件操作函数)

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来
2022-06-04

python 文件操作

python基本的文件操作,包括 open,read,write对文件操作流程:1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件新建一个txt文件,内容是《Yesterday When I Was Young
2023-01-30

python文件操作

1. 文件操作 open 打开 f = open(文件路径, mode="模式", encoding="编码格式") 最最底层操作的就是bytes 打开一个文件的时候获取到的是一个文件句柄.
2023-01-30

python 操作文件

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。操作前需要 import os;返回当前目录,不包括文件名: os.getcwd();返回指定目录下的所有文件和目录名:os.listdir("dirn
2023-01-31

python---文件操作

一、对文件操作流程1.打开文件,得到文件句柄并赋值给一个变量2.通过文件句柄对文件进行操作3.关闭文件二、文件打开模式f = open("file_test","r",encoding = "utf-8")    #打开文件,“读模式”,只
2023-01-31

python-文件操作

文件操作1.  读 / 写 操作读取: r (read):只能读不能写,文件不存在就报错​#打开文件:    object = open('某txt文件',mode = 'r',encoding = '编码')​#读取文件所有内容到内存:
2023-01-31

Python--文件操作

文件处理流程1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件 r模式,默认模式,文件不存在则报错w模式,文件不存在则创建,文件存在则覆盖a模式,文件不存在则创建,文件存在则不会覆盖,写内容会以追加的方式写(写
2023-01-30

Python的shutil模块中文件的复制操作函数详解

copy() chutil.copy(source, destination) shutil.copy() 函数实现文件复制功能,将 source 文件复制到 destination 文件夹中,两个参数都是字符串格式。如果 destinat
2022-06-04

Python 操作.csv文件

import csvcsvfile = file('E:\\workspace\\data\\ex1.csv', 'rb')reader = csv.reader(csvfile)for line in reader:    print l
2023-01-31

Python之文件操作

Python可以对文件进行查看、创建等功能,可以对文件内容进行添加、修改、删除,且所使用到的函数在Python3.5.x为open,在Python2.7.x同时支持file和open,但是在3.5.x系列移除了file函数。Python文件
2023-01-31

Python的文件操作

读操作file = open('测试文件',mode='r',encoding='utf-8')print(file.read()) 写操作file = open('测试文件',mode='w',encoding='utf-8')file.
2023-01-30

Python--6 文件操作

文件通常用于存储数据或应用系统的参数。Python 提供了 OS、 os.path、 shutil 等模块处理文件, 其中包括打开文件、 读写文件、 复制和删除文件等函数。python文件操作基本流程: 1.打开文件,或者新建立一个文件2.
2023-01-30

3 Python文件操作

open以什么编码方式存储文件,就以什么编码方式打开f = open('d:\模特主妇护士班主任.txt',encoding='utf-8') # 绝对路径打开f.close()f = open('模特主妇护士班主任',encoding=
2023-01-31

Python文件IO操作

文件IO常用操作:open打开read读取write写入close关闭readline行读取readlines多行读取seek文件指针操作tell指针位置打开操作:open(file, mode='r', buffering=-1, enc
2023-01-31

python 文件操作2

继续讲解文件操作的其他内置方法读取文件句柄的指针指针,就是说,程序读取文件到哪一行了。f=open("Yesterday.txt",r,encoding="utf-8")print(f.tell())执行输出 0默认是从0行开始读取的。读取
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录