新手:pycharm使用创建directory和Python package的区别??
PHPz
PHPz 2017-04-17 17:30:15
0
3
701

新手,刚学了2天Python 发现很有趣,有个问题想问下

如图: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文件

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

PHPz
PHPz

学习是最好的投资!

全部回复(3)
PHPzhong

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

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"
巴扎黑

没人回答吗?

Peter_Zhu

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板