新手:pycharm使用创建directory和Python package的区别??

新手,刚学了2天Python 发现很有趣,有个问题想问下
clipboard.png
如图:d.py在ssffe模块module中 c.py在一个名字为tesat的文件夹directory中
临时建立的,名字随便打的别介意。。
在d.py中
print 'dddd'

在c.py中
from ssffe import d
print 'cccc'

执行c.py 输出:
dddd
cccc

问题:我想在d.py中引用 c.py
发现用语句 from tesat import c 程序报错

即导入系统中其他目录的Python文件

导入语句怎么写
写了很多仍然报错

阅读 21.4k
3 个回答

directory就是有个目录,pycharm会认为你这个里面可能存放一些你的资源,比如css/js什么的,或者是一些配置文件,里面没有__init__.py,而package是会创建__init__.py的 这个关乎到你的哪些python文件对外是可见的。
或者你可以这么理解,python在文件层面或类名层面上的可见性用__2个下划线表示,对于文件的可见,用package里面定义的__init__.py描述

clipboard.png

A是一个你说的Directory
B是一个package 里面有__init__.py
你如果不想在A里面加__init__.py使其变成一个package的话
手动 在代码里 动态加上A的目录到sys.path里
这样python import 模块的时候 会按照sys.path列表顺序加载指定的模块
这样你from API import foo的时候 会找到A下面的python文件

API.py的实现

# -*- coding: utf-8 -*-


def foo():
    print "foo called"

没人回答吗?

directory就是个普通目录;package是带有__init__.py文件的目录,这和python的import机制相关,
建议看一下python tutorial第六章Modules(安装后就有,或者上官网,不想看英文的话中文python文档)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题