创建name项目

在name项目下面创建foo.py模块

foo.py

#!/usr/bin/env python3.8
# __author: "smoke"
# date: 2021/2/3 下午9:23

def hello():
    print('hello')
    
hello()

/home/smoke/PycharmProjects/pythonProject/venv/bin/python /home/smoke/PycharmProjects/name/foo.py
hello

Process finished with exit code 0

在name项目下面再创建bin.py模块

#!/usr/bin/env python3.8
# __author: "smoke"
# date: 2021/2/3 下午9:25

import foo

foo.hello()

/home/smoke/PycharmProjects/pythonProject/venv/bin/python /home/smoke/PycharmProjects/name/bin.py
hello
hello

Process finished with exit code 0

使用import foo只想把foo模块拿过来,但是执行了

修改foo.py文件

#!/usr/bin/env python3.8
# __author: "smoke"
# date: 2021/2/3 下午9:23

def hello():
    print('hello')

if __name__ == '__main__':    #测试代码被别的代码导入不会执行,但自己执行可以;
    hello()

/home/smoke/PycharmProjects/pythonProject/venv/bin/python /home/smoke/PycharmProjects/name/foo.py
hello

Process finished with exit code 0

执行bin.py文件

#!/usr/bin/env python3.8
# __author: "smoke"
# date: 2021/2/3 下午9:25

import foo

foo.hello()

/home/smoke/PycharmProjects/pythonProject/venv/bin/python /home/smoke/PycharmProjects/name/bin.py
hello

Process finished with exit code 0

修改foo.py文件 

#!/usr/bin/env python3.8
# __author: "smoke"
# date: 2021/2/3 下午9:23

def hello():
    print('hello')

print(__name__)    #自己执行就是__main__,被别人调用执行就是代码文件模块名字

/home/smoke/PycharmProjects/pythonProject/venv/bin/python /home/smoke/PycharmProjects/name/foo.py
__main__

Process finished with exit code 0

执行bin.py文件

#!/usr/bin/env python3.8
# __author: "smoke"
# date: 2021/2/3 下午9:25

import foo

foo.hello()

/home/smoke/PycharmProjects/pythonProject/venv/bin/python /home/smoke/PycharmProjects/name/bin.py
foo
hello

Process finished with exit code 0

最终项目目录结构