需求如下:
什么是包?
包其实就是文件夹,里面包含很多Python文件,将他们归为一类方便重复使用
每个包都必须包含__init__ .py文件,这是为了区分普通文件夹和py包,没有这个文件就和普通文件夹没有区别
代码如下:
file_util
def print_file_info(file_name):
"""
输出给定路径的文件内容
:param file_name:即将读取的文件路径
:return:None
"""
f = None
try:
f = open(file_name,"r",encoding="UTF-8")
content = f.read()
print(f"文件内容如下:{content}")
except Exception as e:
print(f"有bug原因如下:{e}")
finally:
if f: # 如果变量是None则不会进入判断,反之为TRUE
f.close()
def append_to_file(file_name,data):
"""
将指定的数据追加到指定的文件中
:param file_name:指定的文件路径
:param data:指定的数据
:return:None
"""
f = open(file_name,"a",encoding="UTF-8")
f.write(data)
# 保证每次追加的内容都会换行
f.write("\n")
f.close()
if __name__ == '__main__':
print_file_info("E:/dill.txt")
append_to_file("E:/d.txt","哈哈哈")
此模块有两个方法,print_file_info方法用来输出指定的文件内容
由于可能出现文件不存在的情况所以向将f变量赋空值,然后用try-except-finally来捕获并提示异常
然而f.close()也可能出现异常,当文件不存在时f为空值,此时f.close()就会出现异常,所以通过if判断f真假,如f为空值则不会进入if
由于是在模块内部直接调用测试结果所以加
if __name__ == '_main__':
否则在其他模块调用此方法会直接执行,非常不方便
此模块运行结果如下:
用TXT文件来测试
append_to_file方法则简单很多,只是将指定的字符加到文件中,同样用txt文件测试
str_util
def str_reverse(s):
"""
字符串反转功能
:param s:操作的字符串
:return:返回已经反转成功的字符串
"""
return s[::-1]
def substr(s,x,y):
"""
按照给定的下标对字符串切片
:param s:即将操作的字符串
:param x:给定的起始位置
:param y:给定的结束位置
:return:返回切片完成后的字符串
"""
return s[x:y:]
if __name__ == '__main__':
print(str_reverse("暗黑风格"))
print(substr("八度空间",0,2))
此模块两个方法也较为简单,都是对文字的操作
结果如下: