- 路径处理
import os
- 获取当前工作的文件夹路径,此路径是指在哪里运行python文件,此方法不经常使用
print(os.getcwd())
- 文件的绝对路径,非常有用
print(os.path.abspath(__file__))
-
获取文件路径的文件夹路径
dir_name = os.path.dirname(os.path.abspath(__file__))
-
路径拼接
new_dir = os.path.join(dir_name,'data')
-
创建文件夹,使用该方法创建要一层一层创建,否则会报错
os.mkdir(new_dir)
-
首先判断文件夹是否存在,存在则再去创建
new_dir = os.path.join(dir_name,'data','cases') new_dir_data = os.path.dirname(new_dir) if os.path.exists(new_dir_data): os.mkdir(new_dir) else: print('data文件夹不存在')
-
判断是否是一个文件夹,返回True或者False
print(os.path.isdir(new_dir))
-
判断是否是一个文件,返回True或者False
print(os.path.isfile(new_dir))
-
打开文件 文件内容有汉字时使用utf-8打开
f = open('demo.txt',encoding='utf-8')
-
读文件
print(f.read())
-
一行一行读取文件
f = open('demo.txt',encoding='utf-8') print(f.readlines())
-
写文件 mode为'w',如果文件已经存在,写入内容的时候,原来的文件内容会被覆盖
-
如果不想被覆盖,mode应该使用'a'
-
mode为'x',创作模式,文件已经存在时使用x模式会报错
f = open('demo.txt',mode='w',encoding='utf-8') f.write('呼呼,哈哈')
-
关闭文件,当打开文件执行了操作后,一定要记得关闭
f.close()
-
防止忘记关闭文件
with open('demo.txt',mode='r',encoding='utf-8') as f: print(f.read())
-
异常处理
try:
执行代码
except 错误类型1:
pass
except 错误类型2:
pass
except (错误类型3,错误类型4):
pass
try:
1/0
mylist = [1, 2, 3, 4, 5, 6]
mylist[100]
except IndexError:
print('wrong2')
except ZeroDivisionError:
print('wrong')
- try:遇到错误代码就会终止分支,只会执行except ZeroDivisionError分支
- 异常处理写except Exception,不写具体错误类型,会不好定位问题
为什么进行异常处理?
为了让程序按我们的想法执行。
手动抛出异常 raise
class MyError(Exception):
pass
try:
mylist = [1, 2, 3]
mylist[4]
1 / 0
except (ZeroDivisionError, IndexError) as e:
raise MyError
finally
try:
mylist = [1, 2, 3]
mylist[4]
1 / 0
except (ZeroDivisionError, IndexError) as e:
print('error')
finally:
print('douhuiyuxning')
近期评论