
正文
Py层次递进与文件修改大程序,模块,name与file
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
层次的递进与返回
#输入quit的时候返回上一阶层,输入exit退出所有的循环
tag=True
while tag==True:
level1=input('level1:')
if level1=='quit':
break
if level1 =='exit':
tag=False
while tag==True:
level2=input('level2:')
if level2 == 'quit':
break
if level2 == 'exit':
tag =False
while tag==True:
level3=input('level3:')
if level3 == 'quit':
break
if level3 == 'exit':
tag =False
查询与修改文件的大程序1.文件txt的内容
name 杀马特
年龄18
身高160
体重80
name 土嗨
年龄21
身高180
体重80
name aaaaa
年龄120
身高100
体重160
2.主程序
模块:每一个py文件就是一个模块
如果选package里面会多一个__init__.py的空文件,如果没有init就是directory文件
用package的时候,如果需要使用另一个py文件里面的函数的时候
1.比如说在ab.py里面需要导入另一个cal.py里面的函数
需要在ab.py的顶头写上
import cal
2.如果要cal里面的add函数则写cal.add()
3.如果觉得每次cal.add()很麻烦,可以改写
成from cal import add
4.如果ab.py和my_mouudle文件夹同一级别,现在需要在ab.py中使用my_moudle里
的cal.py,那么应该写from my_moudle import cal,这样才能用cal.py里面的函数
5.程序模块化的标准写法:
程序的入口在bin.py,其他的py文件放置在同一级的moudle文件夹里面。
然后在bin.py里面吧moudle文件夹里面的所有py文件调用进来。
6.执行哪个py文件的时候,解释器会把目录光标指向那个py文件的上一级的文件夹,
此时那个上级文件夹里面的py文件 都可以互相import到。
由于bin文件和module文件为同一级别,所以module里面的py
文件的写法应该是from module import xxx
目录
class
bin.py
__init__.py
mymodule
main.py
send.py
__init__.py
bin.py里面的内容
from mymodule import main
main.add(1,3)
main.py里面的内容
from mymodule import send
def add(x,y):
send.addprint()
print(x+y)
return x+y
send.py里面的内容
def addprint():
res=print('the add result is ')
return res
1.如果module文件夹里面还有module文件夹
可以用.来连接来调用。
目录
class
bin.py
__init__.py
mymodule
main.py
send.py
__init__.py
mymodule1
mymodule2
seek.py
要import里面的seek.py
可以写from mymodule.mymodule1.mymodule2 import seek
__name__的作用:
找出引用__name的这段的程序来自于哪里,比如在bin内输入
print(__name__),此时打印__name__在本函数bin内执行,
所以结果是__main__.
但是如果在它的模块里的main.py里面的函数里输入print(__name__)
,并且在bin中调用那个函数,那么显示出来将会是main.py的路径
__name__运用方法:
if __name__ =='main': 写这句话之后再进行后续程序的书写
用这句话可以分开测试代码和运行代码
if __name__ =='main': 写这句话之后再进行后续程序的书写
用这句话可以分开测试代码和运行代码
比如想在module里面的py文件书写测试代码,但是如果在module
里面写了测试代码,主函数bin运行的时候也会执行测试代码。
如果在测试代码的开头加上if __name__ =='main',这样执行主函数
bin的时候,测试代码将不会运行。
bin文件里面的开头加上if __name__ =='main'可以保证bin文件无法
被调用
__file__的运用方法:
os.path.abspath(__file__)是当前py文件的绝对路径。
实例:如何把当前bin文件.py的上一级的文件夹的绝对路径加入绝对路径
import os
print(os.path.dirname(os.path.abspath(__file__)))
path1=os.path.dirname(os.path.abspath(__file__))
sys.path.append(path1)







