本案例需要创建名为:”my_utils”的Python软件包[ 包内带有”__init__.py”文件 ],和两个模块[ Python文件 ]:”str_util.py”,”file_util.py”

Admin_Log
"""
字符串处理相关的工具模块
"""

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('Admin_Log'))
    print(substr('Admin_Log', 1, 3))

"""
文件处理相关的工具模块
"""


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'程序出现异常了,原因是:{e}')
    finally:
        if f:  # 如果变量是None,表示False,如果有任何内容,就是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:/PycharmProjects/bill.txt')
    append_to_file('E:/PycharmProjects/test2.txt', 'Hello,World!')
"""
演示异常、模块、包的综合案例练习
"""
# 创建my_utils 包,在包内创建:str_util.py和file_util.py 2个模块,并提供相应的函数

import my_utils.str_util
from my_utils import file_util

# 验证 - str_util模块功能
print(my_utils.str_util.str_reverse('Admin_Log'))
print(my_utils.str_util.substr('Admin_Log', 0, 4))

# 验证 - file_util模块功能
# file_util.print_file_info('e:/PycharmProjects/test2.txt')
file_util.append_to_file('e:/PycharmProjects/test2.txt', 'Hello,World!')
file_util.print_file_info('e:/PycharmProjects/test2.txt')