Python实战编程教学第18章 文件操作(二)

合集下载

python中文件操作方法

python中文件操作方法

python中文件操作方法1. 打开文件```python# 打开一个文件f = open("test.txt", "r")```# 读取文件内容print(f.read())# 关闭文件f.close()```在使用close()函数之后,无法再对文件进行相关操作。

2. 读取文件在Python中,读取文件使用read()函数。

下面是一些示例代码:在这个例子中,使用了read()函数读取了文件内容,并且打印了文件的内容。

在这个例子中,文件的前10个字符被读取并打印。

# 逐行读取文件for x in f:print(x)在这个例子中,使用了for循环遍历文件并打印每一行。

3. 写入文件在这个例子中,使用write()函数将“hello world”写入文件,并在程序结束时关闭文件。

# 写入文件内容lines = ["line1\n", "line2\n", "line3\n"]f.writelines(lines)4. 关闭文件5. 异常处理except FileNotFoundError:print("文件不存在!")在这个例子中,使用异常处理来处理打开不存在的文件的错误。

这是一个简单的介绍,Python中的文件操作方法非常重要。

在使用Python进行文件操作时,必须非常小心和细心,始终记住时刻关闭文件并进行异常处理。

在Python中,文件操作是非常常见的任务,特别是在对于数据分析和处理等领域。

在文件操作过程中,我们通常需要进行文件的打开、读取、写入和关闭等操作。

在进行这些操作之前,需要明确文件的路径和文件名。

在Windows系统中,文件路径通常使用反斜线(\)来作为路径的分隔符。

在Python代码中,如果使用反斜线作为路径的分隔符,需要注意Python会将其识别为转义字符,这可能会导致一些错误。

Python文件操作读写文件的基本操作

Python文件操作读写文件的基本操作

Python文件操作读写文件的基本操作Python是一种功能强大的编程语言,它提供了丰富的文件操作功能,使得我们可以方便地读写文件。

在本文中,我将介绍Python文件操作的基本操作,包括文件的读取和写入。

一、文件的读取读取文件是Python文件操作中最常见的操作之一。

下面是读取文件的基本步骤:1. 打开文件使用Python的内置函数`open()`来打开文件,它需要两个参数:文件名和打开模式。

文件名是文件的名称,可以是绝对路径或相对路径。

打开模式指定了文件的打开方式,常用的模式有:- `'r'`:只读模式,用于读取文件的内容。

- `'w'`:写入模式,用于写入文件的内容。

如果文件不存在,则创建一个新文件;如果文件已存在,将会清空文件中的内容。

- `'a'`:追加模式,用于向文件中追加内容。

如果文件不存在,则创建一个新文件。

- `'x'`:独占模式,用于创建一个新文件。

如果文件已存在,则会抛出一个`FileExistsError`的异常。

下面是一个示例代码,演示如何打开一个文件并读取其中的内容:```pythonf = open('example.txt', 'r')```2. 读取文件内容一旦文件被打开,我们可以使用文件对象的`read()`方法来读取文件的内容。

`read()`方法会一次性读取整个文件的内容,并返回一个包含文件内容的字符串。

如果文件很大,一次性读取可能会导致内存不足的问题,可以使用`readline()`或`readlines()`来逐行读取文件。

下面是一个示例代码,演示如何读取文件的内容:```pythoncontent = f.read()print(content)```3. 关闭文件文件使用完毕后,需要调用文件对象的`close()`方法来关闭文件。

关闭文件可以释放系统资源,并确保文件的内容已经被写入磁盘。

【黑马程序员】Python编程学习中的文件操作

【黑马程序员】Python编程学习中的文件操作

【黑马程序员】Python编程学习中的文件操作在学习Python 的过程中,不经常使用到文件相关的操作(也有可能是我学的不到家),说实话,这些不常用的API ,在真正需要的时候还是要百度的,自己还是写不出来。

说要整理,也不知道该如何整理,就干脆一点,直接上我做练习的时候写的一个工具类吧。

日后再有文件相关的操作,都可以写成方法加上去。

另外,普及一个知识点,这个文件可以直接拿来使用,在使用之前可以使用dir() 和help() 方法来查看类库和方法的介绍。

使用方法在同一目录下:from FileUtils(文件名)import FileUtils 这样就可以使用了FileUtils 这个工具类了。

在不同目录下:sys.path.append(r'D:\Python\test') - 将文件所在目录添加进import 模块中 from FileUtils(文件名)import FileUtils 这样就可以使用了FileUtils 这个工具类了。

以下既是FileUtils.py 文件的内容。

import osclass FileUtils(object):'''用于操作文件的工具类:version 1.0:Python version : 3.6:author : YJK923'''def read(self,file_name,mode):'''读取文件内容,返回文件内容,类型为字符串,若文件不存在,则返回空:prarm file_name : 文件名mode : 打开模式,常用方式r 或rbr : 以读方式打开,只能读文件rb : 以二进制读方式打开,只能读文件rt : 以文本读方式打开,只能读文件rb+ : 以二进制方式打开,可以读写文件'''try:with open(file_name,mode) as f:f.seek(0) # 移动文件指针content = f.read()return contentexcept Exception as e :print(e)def readline(self,file_name):'''一行一行的读取文件:param : file_name : 文件名'''try:with open(file_name,'r') as f:for line in f:print(line)except Exception as e:print(e)def write(self,file_name,content,mode):'''清空文件并写入content:param file_name : 文件名content : 写入内容mode : 打开模式,常用方式w 或wbw : 以写的方式打开,只能写文件,若文件不存在,先创建,再写wb : 以二进制写方式打开,只能写文件,若文件不存在,先创建再写,反之,清空之后再写wt : 以文本方式打开,只能写文件,若文件不存在,先创建再写,反之,清空之后再写'''with open(file_name,mode) as f:f.write(str(content))def append_write(self,file_name,content):'''追加文件写入content:param file_name : 文件名content : 追加内容'''with open(file_name,'a+') as f:f.write(str(content))def clear(self,file_name):'''清空文件内容:param: file_name : 文件名'''with open(file_name,'wb') as f:f.truncate() # 清空文件内容def remove(self,file_name):'''删除文件:param : file_name : 文件名'''try:os.remove(file_name)except Exception as e:print(e)def tell(self,file_name):'''获取文件中指针的值:param : file_name : 文件名'''try:with open(file_name,'a+') as f:L = f.tell()return Lexcept Exception as e:print(e)def copyfile(self,source_name,target_name): '''复制文件,复制之后的文件在同一级目录中 :param : source_name : 原文件名target_name : 复制之后的文件名'''try:with open(source_name,'rb') as f1, open(target_name,'wb') as f2:f2.write(f1.read())except Exception as e:print(e)def movefile(self,source_name,path):'''移动文件到path 路径下示例:movefile('users.txt','D:\\FTPTest'):param : source_name : 原文件名称path : 移动之后的目录信息'''try:with open(source_name,'rb') as f1, open(path+'\\'+source_name,'wb') as f2:f2.write(f1.read())os.remove(source_name)except Exception as e:print(e)。

《Python语言实训》Python的文件操作实验

《Python语言实训》Python的文件操作实验

《Python语言实训》Python的文件操作实验一、实验目的1、文件类型掌握文件的打开open,掌握file类的其他方法。

2、掌握读取文件read方法。

3、掌握写入文件write方法。

4、掌握关闭文件file、close()。

二、实验内容1、使用with语句读取文件。

2、创建含有文件数据的列表。

3、文件命名。

4、编程实现文件在当前工作路径下的查找。

5、os模块及shutil模块的导入。

6、计算iris数据及的均值。

三、主要实验设备及器材1、计算机终端1套(配备Windous10系统或Windows7系统,英特尔i5及以上的处理器,4G以上内存,256G硬盘)。

2、多媒体教学设备1套。

3、网络设备套件1套。

4、Python软件、PyCharm软件、Anaconda软件等Python软件1套。

四、实验步骤1、实验方法(1)演示性实验。

教师利用多媒体等设备,对Python语言的相关程序在软件上输入然后运行出结果,供学生学习。

(2)验证性实验。

学生文件与图形绘制有了一定了解,并形成了一定认识或提出了某种假说,然后学生利用实验室的电脑设备验证这种认识或假说是否正确而进行的一种实验方法。

2、实验步骤(1)教师带领学生在电脑上讲解文件处理的操作。

(2)读取文件中的数据。

(3)保存数据为Excel格式文件。

(4)文件处理模块的使用。

(5)对相关任务进行任务实现。

(6)保存代码并退出Python的运行环境。

五、思考1、已经建立文本文件data、txt,统计文件中元音字母出现的次数。

with open('abc.txt','r') as fp:txt=fp.read()a= " aeiouAEIOU"sum=0for i in txt:if I in a:sum+=1print(" 元音字母出现的%d次"%sum)2、已经建立文本文件data、txt,统计文件中元音字母出现的次数。

Python中的文件操作和输入输出

Python中的文件操作和输入输出

Python中的文件操作和输入输出Python语言是一门十分强大的编程语言,在数据处理领域有着广泛的应用。

文件操作和输入输出是Python语言中非常重要的话题,本文将围绕这两个主题进行深入阐述。

一、文件操作在Python中,文件操作非常容易。

要读取文件,只需要使用函数open(),并使用read()或readlines()等方法即可读取写入的文件。

以读取模式打开一个文件,可以使用以下格式:file = open("filename.txt", "r")在这个例子中,我们打开文件filename.txt,并以只读模式(r)打开。

我们可以使用read()方法将文件内容读取到内存中,如下所示:content = file.read()这里,我们将读取的内容存储在content变量中。

另外,我们可以使用readlines()方法按行读取文件的内容:content = file.readlines()如果需要写入文件,可以打开文件并以写入模式(w)打开。

以下是一个写入文件的简单示例:file = open("filename.txt", "w")file.write("Hello World")在这个例子中,我们将字符串“Hello World”写入名为filename.txt的文件中。

除了只读和写入模式,还有许多其他的模式可用于文件操作。

例如,在添加模式(a)中打开文件,可以在文件末尾添加新内容而不是覆盖现有内容。

二、输入输出在Python中,有不同的方式可以获取用户的输入。

其中一个方法是使用input()函数:name = input("请输入您的姓名:")print("Hello, " + name + "!")在这个例子中,我们使用input()函数获取用户输入的名字,并使用print()函数输出“Hello, + name +!”的形式的字符串。

Python的文件操作

Python的文件操作

Python的文件操作Python是一种高级编程语言,广泛应用于数据处理、Web开发、人工智能等领域。

而文件操作是Python编程中一个重要且常用的功能,可以用来读取、写入和处理各种类型的文件。

本文将介绍Python中的文件操作以及相关的常用方法和技巧。

1. 文件的读取在Python中,读取文件需要使用`open()`函数来打开文件,并指定打开的模式和文件路径。

常见的文件读取模式有:- "r":只读模式,打开文件后只能读取文件内容。

- "w":写入模式,打开文件后可以写入数据,如果文件不存在则会创建新文件,如果文件已存在则会覆盖原有内容。

- "a":追加模式,打开文件后可以将数据追加到文件末尾,如果文件不存在则会创建新文件。

下面是一个示例,演示如何读取文件内容并输出到控制台:```pythonfile = open("example.txt", "r")content = file.read()print(content)file.close()```2. 文件的写入要在Python中写入文件,同样需要使用`open()`函数打开文件,并指定写入模式。

例如,我们可以将一些文本写入文件:```pythonfile = open("example.txt", "w")file.write("Hello, Python!")file.close()```这段代码将在当前目录下创建一个名为"example.txt"的文件,并将"Hello, Python!"写入文件中。

3. 文件的追加如果需要将数据追加到已有的文件中,可以使用追加模式"a"来打开文件。

例如:```pythonfile = open("example.txt", "a")file.write("Welcome to Python!")file.close()```这里的代码将在已有的"example.txt"文件末尾追加"Welcome to Python!"。

Python编程中的文件操作

Python编程中的文件操作

Python编程中的文件操作在Python编程中,文件操作是必不可少的技能之一。

无论是读写数据,还是存储、获取配置信息,文件都扮演了重要的角色。

因此,Python开发人员需要掌握文件操作的相关知识和技能,以便开发高效、可靠的应用程序。

本文将介绍Python文件操作的基本知识和技巧。

一、文件读写模式在Python中,文件读写操作需要使用open()函数。

该函数需要指定文件名和文件读写模式。

Python支持以下几种文件读写模式:- r 读模式,打开一个文件用于读取。

如果文件不存在则抛出异常;- w 写模式,打开一个文件用于写入。

如果文件已经存在则覆盖,不存在则创建一个新文件;- x 独占写模式,用于创建一个新文件。

如果文件已经存在则抛出异常;- a 追加写模式,打开一个文件用于追加。

如果文件不存在则创建一个新文件;- b 二进制模式,在上述模式基础上增加“b”标志,用于读写二进制文件;- t 文本模式,是默认模式,用于读写文本文件。

下面是一个使用open()函数读取文本文件的示例:```with open('file.txt', 'r') as f:contents = f.read()print(contents)```二、文件的读取读取文本文件时,open()函数返回一个可读文件对象。

可以使用该对象的read()方法一次性读取整个文件,也可以使用readline()方法逐行读取,或使用readlines()方法读取所有行并返回一个列表。

下面是一个使用read()方法读取文件的示例:```with open('file.txt', 'r') as f:contents = f.read()print(contents)```下面是一个使用readlines()方法读取文件的示例:```with open('file.txt', 'r') as f:lines = f.readlines()for line in lines:print(line.strip())```三、写入文件除了读取文件之外,Python还可以写入文件。

python文件操作的方法

python文件操作的方法

python文件操作的方法Python是一种流行的编程语言,提供了丰富而强大的文件操作方法。

在这篇文章中,我将逐步介绍一些常用的文件操作方法,以帮助您更好地理解和使用它们。

第一步- 打开文件:在Python中,要操作文件,首先需要打开文件。

可以使用`open()`函数来打开一个文件,并返回一个文件对象。

该函数需要传入两个参数:文件名和打开模式。

例如,要打开一个名为`example.txt`的文本文件,并以读取模式打开,可以使用以下代码:pythonfile = open("example.txt", "r")在上述代码中,我们使用了`open()`函数来打开`example.txt`文件,并将返回的文件对象赋值给`file`变量。

我们将打开模式设置为`"r"`,表示读取模式。

第二步- 读取文件内容:一旦文件被打开,我们可以使用一些方法来读取文件的内容。

以下是一些常用的读取文件内容的方法:- `read()`: 读取整个文件的内容并返回一个字符串。

例如:pythoncontent = file.read()print(content)- `readline()`: 逐行读取文件内容,并返回当前行的字符串。

例如:pythonline = file.readline()print(line)- `readlines()`: 读取整个文件的内容,并将每一行作为一个字符串存储在列表中。

例如:pythonlines = file.readlines()print(lines)第三步- 写入文件内容:除了读取文件内容,Python还提供了方法来写入文件。

以下是一些常用的写入文件内容的方法:- `write()`: 向文件中写入给定的字符串。

例如:pythonfile.write("Hello, World!")- `writelines()`: 向文件中写入多行字符串,每行字符串以换行符分隔。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#获取工作表
aaa = xlSht.Cells(1,2).Value
#访问单元格
xlSht.Cells(2,3).Value = aaa
xlBook.Close(SaveChanges=1)
#保存
del xlApp
案例精选
▪ 例7-20 检查word文档的连续重复字,例如“用户的的资料”或“需要需要用户 输入”之类的情况。
▪ 例7-15 判断一个文件是否为GIF图像文件。
>>> def is_gif(fname): with open(fname, 'rb') as fp: first4 = fp.read(4) return first4 == b'GIF8'
>>> is_gif('a.gif') True >>> is_gif('a.png') False
print("%s contextA[%d:%d]=%s contextB[%d:%d]=%s"%\ (tag,i1,i2, contextA [i1:i2],j1,j2, contextB[j1:j2]))
案例精选
▪ 例7-17 使用xlwt写入Excel文件。
from xlwt import *
✓ 方法二: f = open('d:\\test.txt','r') longest = max(len(line.strip()) for line in f) f.close() print(longest)
案例精选
▪ 例7-14 计算MD5值。
>>> import hashlib >>> hashlib.md5('12345'.encode()).hexdigest() '827ccb0eea8a706c4c34a16891f84e7b' >>> hashlib.md5('123456'.encode()).hexdigest() 'e10adc3949ba59abbe56e057f20f883e'
data = ''.join(lines) print(hashlib.md5(data.encode()).hexdigest())
案例精选
案例精选
✓ 把上面的代码保存为文件CheckMD5OfFile.py,然后在命令提示符环境中运行并 计算指定文件的MD5值,对该文件进行微小修改后再次计算其MD5值,可以发 现,哪怕只是修改了一点点内容,MD5值的变化也是非常大的。
案例精选
案例精选
▪ 例7-19 使用Pywin32操作Excel文件。
xlApp = win32com.client.Dispatch('Excel.Application') #打开EXCEL
xlBook = xlApp.Workbooks.Open('D:\\1.xls')
#打开文件
xlSht = xlBook.Worksheets('sheet1')
使用说明 创建目录 创建多级目录 删除目录 删除多级目录 返回指定目录下所有文件信息 返回当前工作目录 把path设为当前工作目录 遍历目录树
>>> import os >>> os.getcwd() 'C:\\Python35' >>> os.mkdir(os.getcwd()+'\\temp') >>> os.chdir(os.getcwd()+'\\temp') >>> os.getcwd() 'C:\\Python35\\temp' >>> os.mkdir(os.getcwd()+'\\test') >>> os.listdir('.') ['test'] >>> os.rmdir('test') >>> os.listdir('.') []
for f in files:
print(os.path.join(root, f)) #获取文件绝对路径
visitDir2('h:\\music')
目录操作
▪ 例7-12 计算CRC32值(Python 2.7.x)。
>>> import zlib >>> print zlib.crc32('1234') -1679564637 >>> print zlib.crc32('111') 1298878781 >>> print zlib.crc32('SDIBT') 2095416137 >>> import binascii >>> binascii.crc32('SDIBT') 2095416137
book = Workbook() sheet1 = book.add_sheet("First") al=Alignment() al.horz=Alignment.HORZ_CENTER al.vert=Alignment.VERT_CENTER borders=Borders() borders.bottom=Borders.THICK style=XFStyle() style.alignment=al style.borders=borders row0=sheet1.row(0) row0.write(0,'test',style=style) book.save(r'd:\test.xls')
ch, ch1, ch2 = content[i:i+3] if (u'\u4e00'<=ch<=u'\u9fa5' or ch in (',', '。', '、')):
if ch==ch1 and ch+ch1 not in repeatedWords: print(ch+ch1) repeatedWords.append(ch+ch1)
elif ch==ch2 and ch+ch1+ch2 not in repeatedWords: print(ch+ch1+ch2) repeatedWords.append(ch+ch1+ch2)
案例精选
❖ 或者使用python-docx扩展库。
from docx import Document
return
list_dirs = os.walk(path)
#os.walk返回一个元组,包括3个元素:
#所有路径名、所有目录列表与文件列表
for root, dirs, files in list_dirs: #遍历该元组的目录和文件信息
for d in dirs:
print(os.path.join(root, d)) #获取完整路径
案例精选
案例精选
▪ 例7-21 编写程序,进行文件夹增量备份。
程序功能与用法:指定源文件夹与目标文件夹,自动检测自上次备份以来源文件夹中内容的改变, 包括修改的文件、新建的文件、新建的文件夹等等,自动复制新增或修改过的文件到目标文件夹中, 自上次备份以来没有修改过的文件将被忽略而不复制,从而实现增量备份。
#新建workbook #新建worksheet
#对齐方式 #边框样式
#写入单元格 #保存文件
案例精选
▪ 例7-18 使用xlrd读取Excel文件。
>>> import xlrd >>> book = xlrd.open_workbook(r'd:\test.xls') >>> sheet1 = book.sheet_by_name('First') >>> row0 = sheet1.row(0) >>> print(row0[0]) text:u'test' >>> print(row0[0].value) test
#返回当前工作目录 #创建目录 #改变当前工作目录
#删除目录
目录操作
▪ 递归遍历文件夹
import Leabharlann sdef visitDir(path): if not os.path.isdir(path): print('Error:"',path,'" is not a directory or does not exist.') return for lists in os.listdir(path): sub_path = os.path.join(path, lists) print(sub_path) if os.path.isdir(sub_path): visitDir(sub_path)
案例精选
▪ 例7-12 计算CRC32值(Python 3.x版本)。
>>> import zlib >>> print(zlib.crc32('1234'.encode())) 2615402659 >>> print(zlib.crc32('111'.encode())) 1298878781 >>> import binascii >>> binascii.crc32('SDIBT'.encode()) 2095416137
相关文档
最新文档