打开文件
使用 open 可以打开/创建一个文件: open(文件名,访问模式)
f = open('test.txt', 'w')
# 常用的访问模式:
# 1.读取非二进制文件
# r 以只读方式打开文件,文件的指针会放在文件的开头。这是默认模式。
# w 打开一个文件,只用于写入。若该文件存在,则覆盖,否则创建。
# a 以在文件末尾追加内容的形式打开文件,文件指针将会直到文件的末尾,新的内容将会写入到最后。若该文件存在,则覆盖,否则创建。
# 2.读取二进制文件
# 1.读取二进制文件
# rb 以二进制的格式,同上r
# wb 以二进制的格式,同上w
# ab 以二进制的格式,同上a
# 还有 r+,w+,a+ rb+, wb+, ab+
关闭文件 close
f = open('test.txt', 'w')
f.close()
read 读取一个文件的数据,返回整个文件的内容,字符串格式。
可传参数:数字类型,表示步长。结合 tell,会返回当前已读取的索引。
读取文件时,读取大文件时尽量要注意,避免崩溃。
f = open('test.txt', 'w')
file_content = f.read()
f.close()
write 向一个文件写入数据
f = open('test.txt', 'w')
f.write('hello world, I am here!')
f.close()
案例:从创建到备份一个文件
#1.获取要复制的文件名I
old_file_name = input("请输入要复制的文件名(需要后缀):")
#2.打开要复制的文件
f_read = open(old_file_name, "r")
position = old_file_name.rfind(".")
new_file_name = old_file_name[0:position] + "[复件]" + old_file_name[position:]
#3. 创建一 个新的文件
f_write = open(new_file_name,"w")
#4.从old文件中,读取数据,写入到new文件中
content = f_read.read()
f_write.write(content)
#4.1如果文件很大,这里得分皮读取,然后分批写入。
while True:
content = f_read.read(1024)
if len(content) = 0:
break
f_write.write(content)
#5,关闭2个文件
f_read.close()
f_write.close()
readlines 会分行返回一个列表,列表格式。(末尾没有 s 的则只读取一行)
f = open('test.txt', 'w')
f.readlines()
f.close()
seek 定位到某个位置(tell 会返回当前位置的索引)
seek(offset, from)
offset:偏移量
from:方向, 0.文件开头, 1.当前位置, 2.文件末尾
rename 文件重命名
rename(需要修改的文件名, 新的文件名)
import os
os.rename('毕业论文.txt', '毕业论文-最终版.txt')
remove 删除文件
remove(删除文件的文件名)
import os
os.remove('毕业论文.txt')
mkdir 创建文件夹
mkdir(删除文件的文件名)
import os
os.mkdir('毕业论文')
getcwd 获取当前目录
remove(删除文件的文件名)
import os
os.getcwd()
chdir 改变默认目录
chdir(‘目录盘符’)
import os
os.chdir('../')
listdir 获取目录列表
listdir(‘目录盘符’)
import os
os.listdir('./')
rmdir 删除文件夹
rmdir(‘文件夹名字’)
import os
os.rmdir('毕业论文')
案例:批量修改文件名
import os
#1.获取一个要重命名的文件夹的名字
folder_name = input("请输入要重命名的文件夹:")
#2.获取那个文件夹中所有的文件名字
file_names = os.listdir(folder_name)
os.chdir(folder_name) # 改变当前默认路径,以便下面修改文件名
#3.对获取的名字进行重命名即可
for name in file_names:
print(name)
os.rename(name,"[京东出品]-"+name)
类的构成
- 类的名称:类名
- 类的属性:一组数据
- 类的方法:允许对进行操作的方法(行为)
对于为实现的东西都是概念,就是类,比如,我要娶一个肤白貌美的媳妇。这里的媳妇就是类。
class Cat:
# 方法
#初始化对象
def __init__(self, name, age):
self.name = name
self.age = age
print('实例被创建时,会自动执行')
# 当类存在该方法时,直接print实例,会显示该方法返回的值,否则,显示该类的地址
def __str__(self):
return '直接打印实例,会返回这句话'
# 自定义方法
def eat(self):
print('吃鱼')
def introduce(self):
print('hello,我是%s,今年%d岁了'%(self.name,self.age))
# 创建一个实例
tom = Cat('蓝猫',10) # 实例被创建时,会自动执行
tom.eat() # 吃鱼
tom.introduce() # hello,我是蓝猫,今年10岁了
print(tom) # 直接打印实例,会返回这句话