python调用另一个文件里的代码_Python中不同文件和文件夹之间的代码调用,python...
ref:目录之前代码都是在一个文件中编写运行,最近编写的代码涉及功能较多,需要模块化处理,涉及不同文件间的调用简单学习了下在pycharm中调用不同文件代码,做以下整理:模块、包、库:模块:可以理解为代码文件,即各种py文件,模块中包括类、函数包:即多个模块/代码文件的组合,包括多个文件或者文件夹,文件夹可以看做子包;一般为个人写的代码项目库:已发布的包括某种特定功能的模块/代码文件的组合;一般为
ref:
目录
之前代码都是在一个文件中编写运行,最近编写的代码涉及功能较多,需要模块化处理,涉及不同文件间的调用
简单学习了下
在pycharm中调用不同文件代码
,做以下整理:
模块、包、库:
模块:
可以理解为代码文件,即各种
py文件
,模块中包括类、函数
包:
即
多个模块/代码文件的组合
,包括多个文件或者文件夹,文件夹可以看做子包;一般为个人写的代码项目
库:已发布
的包括某种特定功能的
模块/代码文件的组合;
一般为其他组织或个人编写的代码项目
同文件夹内调用模块
根目录make sources root, 模块名 直接引用
文件结构:
根目录为test,
文件包括hi.py、test_f.py

功能及目的:
hi.py定义了简单的函数sayhi,打印 hi 字符串,可以被其他文件调用
test_f.py实现同文件夹下的调用
实现过程:
1)设置根目录为Sources root
右击根目录,mark dirctory as -- Sources Root;

2)import代码
各文件代码如下:
hi.py
def sayhi():
print('hi')
test_f.py
import hi
hi.sayhi()
注意事项:
文件名与文件夹名不要以数字开头
文件名不要与文件夹名重名
跨文件夹调用模块:
根目录make sources root, 建立__init__.py,使用根目录名.子包名.模块名的 绝对路径方式引用
文件结构:
根目录为test,
二级目录及文件包括test_a、test_b、__init__.py、test_c.py
三级文件包括test_a下的__init__.py、hi.py、test_a.py;test_b下的__init__.py、test_b.py;

功能及目的:
hi.py定义了简单的函数sayhi,打印 hi 字符串,可以被其他文件调用
各个__init__.py用于定义模块包,如果想调用目录x中的代码,就在目录x下建立空的__init__.py文件
test_a.py实现同目录下的调用
test_b.py实现不同目录下文件的调用
test_c.py实现同级文件夹下的调用
实现过程:
1)设置根目录为Sources root
右击根目录,mark dirctory as -- Sources Root;
相当于在系统路径中加入根目录,当import时,可以检索根目录中内容;
类似于
sys.path.append(path)

2)建立__init__.py
__init__.py用于定义模块包,如果想调用目录中的代码,就在目录下建立__init__.py文件吧;
目前涉及内容不多,建立空文件即可
3)在其他文件中import代码
在本文中,在test_a.py、test_b.py、test.py中分别调用hi.py中代码,各文件代码如下:
hi.py
def sayhi():
print('hi')
test_a.py
from test.test_a import hi
hi.sayhi()
test_b.py
from test.test_a import hi
hi.sayhi()
test_c.py
from test.test_a import hi
hi.sayhi()
注意事项:
文件名与文件夹名不要以数字开头
文件名不要与文件夹名重名
使用. 或者..的相对路径方式进行引用,在编写代码时不报错,但运行时可能出错,建议使用 根目录名.子包名.模块名 的绝对路径方式进行引用
更多推荐


所有评论(0)