包!的使用!
主代码:
# python包
# 导入包--1
# import my_package.my_module1
# import my_package.my_module2
# my_package.my_module1.test_a1()
# my_package.my_module2.test_b2()
#
# # 导入包--2
# from my_package import my_module1
# from my_package import my_module2
# my_module1.test_a1()
# my_module2.test_b2()
#
# # 导入包--3
# from my_package.my_module1 import test_a1
# from my_package.my_module2 import test_b2
# test_a1()
# test_b2()# 通过__all__变量控制import*的使用
# __all__要写在_init_.py下
# from my_package import *
# my_module1.test_a1()
# my_module2.test_b2() # 当我们在_init_.py文件中写上__all__时只能调用[]里面的模块# 第三方python包
# 打开cmd命令行,输入‘pip install 第三方包名’(国外网站)
# 国内网站:cmd输入pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 第三方包名# 自定义包案例
# import my_utils.str_util
#
# print(my_utils.str_util.str_reverse("12345678"))
# print(my_utils.str_util.substr("123456", 2, 5))
# from my_utils import file_util
# print(file_util.print_file_info("D:\Python.file\python文档代码\main1.py"))
# print(file_util.append_to_file("D:\Python.file\python文档代码\main1.py", "12345"))
需要调用的包:
一:
def print_file_info(file_name):
"""
:param file_name: 要打开的文件名
:return: None
"""
f = None # 先定义变量f防止f文件不存在
try:
f = open(file_name, "r", encoding="UTF-8")
content = f.read()
print("文件内容:")
print(content)
except Exception as e:
print("异常了!", e)
finally:
if f: # f如果是None则为False
f.close()
if __name__ == '__main__':
print_file_info("D:\Python.file\python文档代码\main.py")
# er
def append_to_file(file_name, data):
f = open(file_name, "a", encoding="UTF-8")
f.write(data)
f.write("\n")
if __name__ == '__main__':
append_to_file("D:\Python.file\python文档代码\main1.py", "hello word")
f = open("D:\Python.file\python文档代码\main1.py", "r", encoding="UTF-8")
cotent = f.read()
print(cotent)
二:
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("12345678"))
print(substr("123456", 1, 2))
三:
def test_a1():
print("这是包里的一个模块模块一")
四:
def test_b2():
print("这是一个包里的模块二")
五:
def test(x, y):
print(f"结果{x + y}")
# return x + y
if __name__ == '__main__': # 为了防止在文件导入的时候执行测试文件的测试结果
test(1, 2)
六:
__all__ = ['test_a'] # 作用在import*上
def test_a(x, y):
print(x - y)
def test_b(x, y):
print(x + y)