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

发布于 2022-09-02 12:06:36 字数 540 浏览 8 评论 0

新手,刚学了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文件

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

玩套路吗 2022-09-09 12:06:36

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"
谜兔 2022-09-09 12:06:36

没人回答吗?

爱她像谁 2022-09-09 12:06:36

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文