目录
一.with
使用with方式操作文件,可以不用关闭文件,会自动关闭文件。
不用使用file.close()超级方便
二.os模块及其基本方法
对于文件的操作,我们还会遇见一个模块,就是os模块。接下来,我们对os模块基本的方法进行一个一个介绍。
我们对7.文件操作/file/c.txt进行操作
1.rename重命名
import os
os.rename('file/c.txt','file/a.txt')
已经改变:
2.remove删除文件
import os
os.remove('file/a.txt')
就没有了。
3.mkdir创建目录
创建目录。为防止大家看不清楚,我们创建一个新的文件夹
我们将在这个文件夹中操作
然后就出现了我们的目录
4.makedirs创建多级目录
import os
os.makedirs('d:/py/我们的文件测试/第一个目录多级目录/2/1')
5rmdir.删除目录
import os
os.rmdir('d:/py/我们的文件测试/第一个目录')
就没有了
6.removedirs删除多级目录
import os
os.removedirs('d:/py/我们的文件测试/第一个目录多级目录/2/1')
就没了
7.getcwd获取当前所在目录
import os
print(os.getcwd())
8.listdir获取目录列表
import os
print(os.listdir('d:/py/我们的文件测试/第一个目录'))
9.chdir切换所在目录
我在的目录:
我用程序将它切换:
import os
os.chdir('d:/py/6.模块')
print(os.getcwd())
现在所在目录:
10.path.exits判断文件或者文件夹是否存在
11.path.isfile判断是否为文件
我们先输入一个包进行判断
我们在输入一个文件判断:
import os
print(os.path.isfile('d:/py/我们的文件测试/第一个目录/1.py'))
12.path.isdir判断是否为目录
import os
print(os.path.isdir('d:/py/我们的文件测试/第一个目录'))
13.path.abspath获取绝对路径
import os
print(os.path.abspath('d:/py/我们的文件测试/第一个目录/1.py'))
14.path.isabs判断是否为绝对路径
import os
print(os.path.isabs('d:/py/我们的文件测试/第一个目录/1.py'))
15path.basename.获取路径中的最后部分
import os
print(os.path.basename('d:/py/我们的文件测试/第一个目录/1.py'))
16.path.dirname获取路径中的路径部分
import os
print(os.path.dirname('d:/py/我们的文件测试/第一个目录/1.py'))
17.path.join将多个目录组织成路径返回
三.练习(文件增前缀,删前缀,改文件名)
写一个函数,可以执行,修改文件的前缀,改文件名的操作
import time,os
def jiaqianzhui():
a = input("请选择您需要进入的目录(绝对路径!):")
os.chdir(a)
print("正在获取当前目录...")
time.sleep(1)
a = os.getcwd()
print("当前目录:", a)
b = os.listdir(a)
print("目录列表:", b)
c = input("请输入您需要加前缀的文件名")
d = input("请输入您需要加的前缀")
if c in b:
print('1')
e = d+c
print("名称修改成功:",e)
os.rename(c,e)
def shanchuqianzhui():
a = input("请选择您需要进入的目录(绝对路径):")
os.chdir(a)
print("正在获取当前目录...")
time.sleep(1)
a = os.getcwd()
print("当前目录:", a)
b = os.listdir(a)
print("目录列表:", b)
c = input("请输入您需要减前缀的文件名")
d = input("请输入您需要减的前缀")
try:
if c in b:
e = c.replace(d,'',1)
os.rename(c, e)
except Exception:
print("文件输入有误!请重新输入")
def chongmingming():
try:
a = input("请选择您需要进入的目录(绝对路径):")
os.chdir(a)
print("正在获取当前目录...")
time.sleep(1)
a = os.getcwd()
print("当前目录:", a)
c = os.chdir(a)
b = os.listdir(a)
print("目录列表:", b)
c = input("请输入您需要重新命名的文件(不再操作按0结束)")
if c=='0':
print("程序返回上一级")
main()
if c in b:
d = input("请输入您改变后的文件名:")
os.rename(c,d)
print("重命名成功!")
else:
raise Exception("您输入的文件名不存在,或者存在其他错误!")
except Exception as e:
print(e)
print("正在返回主程序......")
main()
def main():
print("欢迎来到文件操作管理系统")
print('加载中,请稍后.....')
time.sleep(2)
while True:
print("加载成功!")
list=['退出系统','增加前缀','删除前缀','重新命名']
for i,j in enumerate(list,start=0):
print('[',i,']',j)
list1 = [0,1,2,3]
a = int(input("请输入您选择的功能序号"))
if a in list1:
if a==0:
print("退出系统,请稍后...")
time.sleep(2)
print("退出成功!")
break
elif a==1:
print("正在进入功能模块,请稍后...")
jiaqianzhui()
elif a==2:
print("正在进入功能模块,请稍后...")
shanchuqianzhui()
else:
chongmingming()
else:
print("您的输入有误!请重新输入!!!")
continue
break
main()