第十条学习内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#文本文件的写入三步走
#1.创建文件对象
#2.写入数据
#3.关闭文件对象
f=open("a.txt","a")##"a"代表模式,如果我们没有增加模式b,则默认创建的对象时文本文件对象
s="尚学堂\n百战程序员\n"
f.write(s)
f.close()##注意 一定要有关闭这个动作

在这里插入图片描述
英文的可以直接执行,中文的小部分下面会单独讲解关于中文乱码的解决办法

常用编码之间的关系:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
编码和简码要保持一致
在这里插入图片描述
在这里插入图片描述

f=open(r"b.txt","w")#编码默认GBK,但是打开的时候时UTF8,所以打开的时候乱码了
f.write("尚学堂\n百战程序员\n")##\n是换行符的意思
f.close()##注意 一定要有关闭这个动作

中文的乱码解决时,把它改为GBK格式 进行统一

close()关闭文件流

在这里插入图片描述

ry :
    f=open(r"b.txt","w")
    strs=("aa\n","bbb\n")#引用的多个字符串,所以str变成strs
    f.writelines(strs)
except BaseException as e:
    print(e)
finally:
    f.close()##注意 一定要有关闭这个动作

在这里插入图片描述
在这里插入图片描述
推导式生成列表:
希望给文件中的三行内容添加行号。如何给列表中的内容实现修改呢?
在这里插入图片描述
一个新的函数来解决这个问题,enumerate(),作用:枚举对象
在这里插入图片描述
在这里可以看到enumerate()的对象。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
所以,最终代码如下:
将刚才的temp换成了line.
在这里插入图片描述
二进制文件的读取和写入
在这里插入图片描述
aa.gif 是一个图片,读取这个图片的内容,实现文件的拷贝
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
引入CSV 模块 import csv
在这里插入图片描述
在这里插入图片描述
reader 读取器 ;writer 写入器
b_csv.writerows() rows 是对于多行列表的写入,row 是一行一行的输入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
dir 是目录
在这里插入图片描述
在这里插入图片描述
注意一下,print(os.sep),在windows 系统下是反斜杠,在另外两个系统下是/ 正斜杠。
在这里插入图片描述
补充上述stat 函数
在这里插入图片描述
在这里插入图片描述

创建多级目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
补充:
创建目录

在Python中可以使用os.mkdir()函数创建目录(创建一级目录)。

其原型如下所示:

os.mkdir(path)

其参数path 为要创建目录的路径。

例如要在D盘下创建hello的目录

>>> import os

>>> os.mkdir(‘d:\hello’)

可以使用os.makedirs()函数创建多级目录。

其原型如下所示:

os.makedirs(path)

其参数path 为要创建目录的路径。

如在D盘下创建books的目录,books目录下在创建book目录

>>> import os

>>>os.makedirs(‘d:\books\book’)

删除目录

在Python中可以使用os.rmdir()函数删除目录。

其原型如下所示:

os.rmdir(path)

其参数path 为要删除的目录的路径。

例如把D盘下的hmm的目录删除

>>> import os

>>> os.rmdir(‘d:\hmm’)

删除多级目录

在Python中可以使用os.removedirs()函数删除多级目录。

其原型如下所示:

os.removdirs(path)

其参数path 为要删除的多级目录的路径。

>>> import os

>>> os.removedirs(‘d:\books\book’)

#注意:要删除的目录必须是空目录

…\ 的用法

在这里插入图片描述
在这里插入图片描述os.path 模块
在这里插入图片描述

os、os.path模块中关于文件、目录常用的函数使用方法

具体的表格内容见链接

#coding =utf-8
#测试os,path中,关于目录/路径的操作
import  os
import os.path  #与from os import path 一样的用法
print (os.path.isabs("d:/a.txt"))# 判断指定路径是否为绝对路径 true
print (os.path.isdir("d:/a.txt"))#判断指定路径是否存在且是一个目录 false
print (os.path.isfile("d:/a.txt"))# 判断指定路径是否存在且是一个文件 true
print (os.path.exists("d:/a.txt"))# 判断指定路径(目录或文件)是否存在 true

拓展一些获得文件基本信息相关函数的用法:具体函数名和意义见链接
在这里插入图片描述

#coding=utf-8
#列出工作目录下的所有Py 文件,并输出文件名
import os
path=os.getcwd() ##getcwd()返回当前工作目录
file_list=os.listdir(path)#列出子目录,子文件
for filename in file_list: #对所有的子文件进行遍历
    print (filename) # 输出文件名

在这里插入图片描述
endswith()函数
描述:判断字符串是否以指定字符或子字符串结尾。

import os
path=os.getcwd()
file_list=os.listdir(path)#列出子目录,子文件
for filename in file_list: #对所有的子文件进行遍历
    if filename.endswith("py"): #判断字符串是否以指定字符或子字符串结尾,此处时判断是否以py结尾
    print (filename) # 输出文件名

os.walk()–递归遍历所有文件

在这里插入图片描述
遍历所有文件夹 和文件之后
在这里插入图片描述

import os
path=os.getcwd()
list_files=os.walk(path)
for diepath,dirnames,filenames in list_files:
    for dir in dirnames: #只遍历文件夹
        print(dir)
    for file in filenames: #只遍历文件
        print(file)

在这里插入图片描述
在这里插入图片描述

import os
all_files=[]
path=os.getcwd()
list_files=os.walk(path)
for dirpath,dirnames,filenames in list_files:
    for dir in dirnames: #只遍历文件夹
        all_files.append(os.path.join(dirpath,dir))

    for file in filenames: #只遍历文件
        all_files.append(os.path.join(dirpath, file))
for file in all_files:
    print(file)

对于os模块的补充学习:shutil()函数
在这里插入图片描述
Python模块之shutil模块
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

zipfile() —>压缩

在这里插入图片描述
w 写模式,r 都模式
extractall() 解压缩
在这里插入图片描述

递归算法;

在这里插入图片描述

#使用递归计算n的阶乘,一般来说递归可以处理的也能用循环来处理
def factorial(n):#定义一个阶乘 变量为n 阶乘都是从大数开始乘,直到最后是1结束
    if n == 1: ##比较结构中,赋值要用==
        return n
    else:
        return n*factorial(n-1)
print(factorial(5))#计算5!

在这里插入图片描述
在这里插入图片描述

_递归算法原理_目录树结构展示

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值