420主要学习文件,os

'''
文件 操作概述
os
绝对路径 :一般从盘符开始,不能跳级、越级 。 路径固定文件就不能移动,另外在迁移过程中比较麻烦
相对路径:不需要从盘符开始,需要找到一个参考点
①同级关系:访问的文件和python代码处于同一个目录,平行关系  ./文件名称 或者直接写文件名称
②上级关系:../访问上一级    如果多级../../../去一层一层防伪码
③下级关系:文件夹名称/访问某个目录下文件
r-w-a三种模式
文件的读取操作:
read()
readlines() 读取文件的内容进行一次性读取,并且返回一个列表
f.seek移动文件指针
'''

# 文件基本操作 open(name,mode)  r:只读 w:只写 a:在文章末尾追加

# f = open('python.txt','a',encoding='utf-8')
#
# f.write('\n拒绝躺平,终身学习!')
# # content = f.read()
# # print(content)
# f.close()
# 1、打开文件
# f = open('python.txt', 'r', encoding='utf-8')
# # 2、读取文件
# lines = f.readlines()
# for line in lines:
#     print(line, end='')
# # 3、关闭文件
# f.close()
# 移动文件指针
'''
f.seek(offset,whence=0)

offset:开始的偏移量,也就是代表需要移动偏移的字节数
whence:给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

==实际工作中,seek主要用于重置光标到起始位置。==

f.seek(0)
或
f.seek(0, 0)
'''
# python备份操作
'''
接受用户输入的文件名
test.txt ==>text[备份].txt
备份文件写入数据
'''
# # 1.获取用户输入的文件名称
# oldname = input('请输入要备份的文件名称:')
# # 文件名如何获取
# index = oldname.rfind('.')
#
#
# if index > 0:
#     filename = oldname[:index]
#     # 获取文件后缀
#     postfix = oldname[index:]
#     # 规划备份文件名
#     newname = filename + '[备份]' + postfix
#     # print(newname)
#     # content = f.read
#
#     # 把旧文件内容拷贝到新文件中
#     old_f = open(oldname, 'rb')
#     new_f = open(newname, 'wb')
#
#     while True:
#         content = old_f.read()
#         if len(content) == 0:
#             break
#         else:
#             new_f.write(content)
#     # 关闭文件
#     old_f.close()
#     new_f.close()
#
# else:
#     print('输入文件有误')

os

'''
os模块
os.函数名()
os.rename(旧文件名称,新文件名称) 对文件进行重命名操作 
 os.remove(要删除文件名称)     对文件进行删除操作   
'''
# 导入os模块
import os
import time

# os.rename('python.txt','linux.txt')

# 休眠30s
# time.sleep(30)

# os.remove('python[备份].txt')
'''
os.mkdir(新文件夹名称)    创建一个指定名称的文件夹                    
os.getcwd()              current  work   directory,获取当前目录名称 
os.chdir(切换后目录名称) change  directory,切换目录                 
os.listdir(目标目录)     获取指定目录下的文件信息,返回列表          
os.rmdir(目标目录)        用于删除一个指定名称的"空"文件

'''

# 1、使用mkdir方法创建一个images文件夹
if not os.path.exists('images'):
    os.mkdir('images')
if not os.path.exists('images/avatar'):
    os.mkdir('images/avatar')

# 2、getcwd = get current work directory获取当前工作路径
print(os.getcwd())

# 3、os.chdir,ch = change dir = directory切换目录
os.chdir('images/avatar')
print(os.getcwd())
# 切换到上一级目录 => images
os.chdir('../')
print(os.getcwd())
# 4、使用os.listdir打印当前所在目录下的所有文件,返回列表
print(os.listdir())
# 5、删除空目录
os.rmdir('avatar')

'''
文件夹的递归删除
理论上,其在删除过程中,如果文件夹非空,则自动切换到文件夹的内部,然后把其内部的文件,一个一个删除,当所有文件删除完毕后,返回到上一级目录,删除文件夹本身
'''
# 导入shutil模块
import shutil

# 递归删除非空目录
shutil.rmtree('images')

(今天偷懒了!!!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值