python关于文件夹与文件的简单操作

'''

python中有内置的模块,使用时可以直接调用

调用方法:

1、import 模块名    对模块进行导入

2、模块名.函数名    调用函数

'''

import os

import shutil

#重命名文件与文件夹  rename(路径+旧文件(文件夹)名,路径+新文件(文件夹)名)

#os.rename(r'C:\Users\Administrator\Desktop\laowang.txt',r'C:\Users\Administrator\Desktop\老王.txt')

#os.rename(r'C:\Users\Administrator\Desktop\laowang',r'C:\Users\Administrator\Desktop\老王')

#删除文件  remove(路径+文件名)  不能删除文件夹

#os.remove(r'C:\Users\Administrator\Desktop\老王.txt')

#os.remove(r'C:\Users\Administrator\Desktop\老王')  #报错,拒绝访问

#创建文件夹  mkdir(路径+文件夹名字)  当文件夹已存在时无法创建

#os.mkdir(r'C:\Users\Administrator\Desktop\老王1')

#os.mkdir(r'C:\Users\Administrator\Desktop\老王12\qwe')  #无法创建多级路径

#创建多级路径  makedirs()  当文件夹已存在时无法创建

#os.makedirs(r'C:\Users\Administrator\Desktop\老王12\qwe\fdg\dfg\ert\ert')

#改变默认目录 chdir()  cd /返回根目录  cd ../返回上一级目录

#os.chdir(r'C:\Users\Administrator\Desktop\老王12')

#获取目录列表,并返回一个列表  listdir(路径)

#ls = os.listdir(r'C:\Users\Administrator\Desktop')

#print(ls)

#删除空文件夹,没有该文件夹会报错  rmdir(路径+文件夹名)

#os.rmdir(r'C:\Users\Administrator\Desktop\老王')

#删除文件夹+子文件(文件夹),没有该文件夹会报错  rmtree(路径+文件夹名)

#shutil.rmtree(r'C:\Users\Administrator\Desktop\老王12')

#获取当前目录,返回一个字符串  getcwd()

#s = os.getcwd()

#print(s)

#print(type(s))



异常处理:

'''

try:

可能出现异常的代码

except:

对异常信息作出解释

并可以记录异常信息

except后不写任何类,表示捕捉所有异常。如果有异常,会中断执行try内部的程序,

转而执行except,在程序执行完except之后,会继续执行后面的程序

当异常出现的时候,python的解析器会对这种异常进行分析,并将其实例化得到一个异常对象

然后再与except里面的异常类进行匹配,如果匹配成功,将异常赋值给对象,赋值的时候可以使用as

try  except虽然能够捕获异常,但是会影响代码的运行效率

所以要将其放在可能会出错的地方

'''

'''

path = input('请输入文件的路径:')

content = None

try:

content = open(path,'r',encoding = 'utf-8')

content = content.read()

except FileNotFoundError as aaa:

print('输入的路径错误')

print(aaa)

print(content)

'''

path = input('输入文件的路径:')

print('1......')

content = None

try:

print('2......')

content = open(path,'r',encoding='utf-8').read()

a = 10/0

print('3......')

except (FileNotFoundError,NameError,ZeroDivisionError) as ex:

print('4......')

print('输入的路径不存在')

print(ex)

print('5......')

print(content)



'''

异常处理内部的变量没有作用域

在python中只有函数与类当中有作用域的概念

其他的都没有作用域

try  except当中

例如except Error as sd:

只有上句sd是只作用于异常处理内部的局部变量

'''

if True:

a = 10

print(a)

try:

b = 20

b/=0

except Exception as ex:

print(ex)

print(b)

print(b)

print(ex)


一个简单的小应用:批量修改文件名

import os

import os.path

path = input('请输入完整的路径:')

os.chdir(path)  #切换工作目录到当前输入路径

ls = listdir(path)  #列出目录下所有文件与文件夹名

for i in ls:

if os.path.isfile(i):  #判断是否是文件

num = i.rfind('.')

if num!=-1:

newName = i[:num]+'-new'+i[num:]  #重命名

os.rename(i,newName)

你可能感兴趣的:(python关于文件夹与文件的简单操作)