Pycharm中Directory与Package区别及如何导入module

时间:2022-03-19 17:42:14

Directory:
Dictionary在pycharm中就是一个文件夹,放置资源文件,对应于在进行JavaWeb开发时用于放置css/js文件的目录,或者说在进行物体识别时,用来存储背景图像的文件夹。该文件夹其中并不包含_ _ init.py_ _文件

Package(Python中将一个.py文件看作一个module):
对于Python package 文件夹而言,与Dictionary不同之处在于其会自动创建_ _ init.py_ _文件。
简单的说,python package就是一个目录,其中包括一组模块和一个_ _ init.py_ _文件。目录下具有init.py文件,这样可以通过from…import的方式进行.py文件的导入.

如下通过几个例子进行说明,如何进行module的导入,目录结构如下:

Pycharm中Directory与Package区别及如何导入module

假设file这个package是一个开源包,里面有一些现有的我们需要在one文件中使用的方法。

hello.py代码:

class package():
def Foo(self):
print "hello world"
class two():
def Foo2(self):
print "hello Python"

def write(str):
print str

对于module的导入,个人认为有如下方式:
(1)形式:import module(将整个模块全部导入)

import file.hello
o = file.hello.package() #可能同时import多个module,因此使用的方法需要说明是哪个module中的方法
o.Foo()
file.hello.write("hello")#说明是file.hello这个module中的write方法

(2)from module import 需要用的类名或方法名

from file.hello import package,write
o = package() #已经声明了导入的package是file.hello这个module的,因此不必再使用前缀
o.Foo()
write("hello")

(3)from package(包) import module

from image import hello
hello.write("hello")
o = hello.package() #同样可能导入了多个模块,因此需要注明是哪个模块的
o.Foo()

需要注意的是,可以从package中进行import,但是对directory无法进行import,想导入某个文件夹中的.py文件,必须有init.py文件,在module导入之后就可以使用module中的类,函数,变量。

如有错误,欢迎指正