技术标签: python package和目录
新手,刚学了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文件
导入语句怎么写
写了很多仍然报错
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"
没人回答吗?
directory就是个普通目录;package是带有__init__.py文件的目录,这和python的import机制相关,
建议看一下python tutorial第六章Modules(安装后就有,或者上官网,不想看英文的话中文python文档)。
来源:http://www.jianshu.com/p/6441eaa4d064Spark DataSource API 的提出使得各个数据源按规范实现适配,那么就可以高效的利用Spar...
1.开始创建项目@ vue / cli 4.5.4安装成功后,如果要在D:\ Code2Vue目录中创建demo2项目,则可以打开资源管理器,输入D:\ Code2Vue目录,然后在资源管理器中在地址栏上输入cmd(此时打开的cmd窗口的打开目录是D:\ Code2Vue目录,如下所示),在打开的cmd窗口模式下输入以下命令: 开始创建一个新项目:# demo2 是项目名称vue creat demo2注意:vue creat命令在哪个目录中运行,将在哪个目录中创建vue。2.如.
VMware虚拟机中Ubuntu无法全屏显示
哇哇哇...., 很长时间没有写paperNotes了,从今天开始还是应该每天都有啊,每天更的心情就是踏实而美好 这篇文章提到了两个不同NN的特性,作为重点:我放在博文的前面. CNN is suitable for capturing the most useful features in a flat structure. RNN(Recursive) is good at modelin
[BJDCTF2020]Easy MD5 1提示了后台的查询语句select * from 'admin' where password=md5($pass,true)这里关键是理解md5($pass,true)是个啥东西md5($pass,true)在指定true的时候,是返回的原始 16 字符二进制格式。也就是说会返回这样子的字符串:'or'6\xc9]\x99\xe9!r,\xf9\xedb\x1c'or'6\xc9]\x99\xe9!r,\xf9\xedb\x1c这样的二进制字符
[url]http://www.16xx8.com/photoshop/jiaocheng/2018/146098.html[/url][url]https://huke88.com/?sem=baidu&kw=100832[/url][url]http://www.psku8.com/p/26614[/url][url][/url][url]http://tech.163...
信息的接收工作是由底层来完成的,当有一个 新的信息时底层完成接收后会以Intent的方式来通知上层应用,信息的相关内容也包含在Intent当中,Android所支持的信息Intent都定 义在android.provider.Telephony.Intents里面。短信的接收短信接收,对于上层应用程序来讲就是要处理广播事件SMS_RECEIVED_ACTION,它是由Framewo...
开发过程中遇到个mysql的问题,我有多个表,多个表之间有联系,每个表都有单独的排序。course > course_level > course_unit > course_lesson,这四个表的层级关系就是课程下面很多level,每个level下面有多个unit,每个unit下面有多个lesson,所有表的排序字段均为sort,全部是按照升序排列,如果某个级别sort相同,...
iOS简单实用的AES加密(亲测,能用)1.导入文件,太多了,就不再写了(ps:本人也不会写)网址:https://pan.baidu.com/s/1o86LeRK 提取密码:7igx2.开始代码在需要的controller中导入头文件#import "SecurityUtil.h"#import "GTMBase64.h"//示例的偏移量及key在SecurityUtil.m文件中//这里是
报错:[[email protected] tmp]# mysql -uroot -pmysql: unknown option '--You have new mail in /var/spool/mail/root'[[email protected] tmp]# [[email protected] tmp]# mysql --?mysql: unknown option '--You have new mail in /var...
说道symantec,相信大家对此产品多少有了解的,所以呢,今天对此产品不多介绍,主要来实现一下symantec11.0.6300到symantec12.1.1的升级因为我环境内已存在一条Sym性能降低,所以需要单独安装一台symantec服务器(12.1.1),在安装的过程中要保证所有以安装symantec的服务器必需跟服务器通信,这样保证服务器升级...
前言顾名思义,就是对已经存在的某些类进行装饰,以此来扩展某些功能。在不改变类文件和使用继承的情况下,动态的扩展一个对象的功能,是继承的替代方案之一。通过创建一个包装对象,即装饰包裹真实的对象。定义动态的给一个对象添加一些额外的职责。结构图角色拆解:1.Component:抽象组件,可以是接口或抽象类,被装饰的最原始的对象2.ConcreteComponent:组件具体实现类,实现Co...