python的模块导入问题
以下内容参考:http://www.xinxingjiaocheng.com/online/item/7/89
1.给模块起个别名
如果一个模块的名字很长很长,就像这样comput_the_value_of_the_variable,你导入模块是这样子:
import comput_the_value_of_the_variable,导入之后每次调用里面的变量或者函数的时候都要写这么一长串的名字,我就问你烦不烦?尤其是当你是一个崇尚简约的人的时候。即便你打头几个字母,pycharm会自动给你调出来这个串,估计你也不太想一次又一次的看见它。此时我们可以给它起个别名,这样:import comput_the_value_of_the_variable as sky,这样你需要调用里面的dongxi的时候只需写sky.dongxi。
2.从一个模块中导入全部内容与导入部分内容(个别变量或函数)
假定模块名是hello.py,里面有变量a,b,c和函数f1(),f2(),f3(),导入全部函数和变量:from hello import *
导入部分内容:from hello import a,b,f3()
这样子的话调用函数的时候不用写模块.函数名了,直接怼函数名或者变量名就行。
3.目录作为模块
实际上,1和2在导入模块是是默认当前的程序与导入的模块在同一个文件夹之下,如果导入非当前文件夹之下的文件模块,会出错哒。所以,正确的模块导入方式是带上目录名字:比如lianxi_6.py的文件路径是:D:\good\s12_1\day2,那么导入lianxi_6模块的时候(假如当前的.py文件是test4.py,路径是:D:\good\s12_1\star,它应该和lianxi_6.py文件在同一级别的上级文件目录s12_1之下)就该酱紫: import day2.lianxi_6 as you,day2是lianxi_6.py文件所在的文件夹的名字。
import day2.lianxi_6 as you
you.hello()
you.bye()
hello()函数和bye()函数(在lianxi_6.py文件里面定义的):
def hello():
print('黄河远上白云间,')
print('一片孤城万仞山。')
def bye():
print('羌笛何须怨杨柳,')
print('春风不度玉门关。')
假如一个目录里面有很多(文件)模块需要我们导入,那我们要一直写from hello import *...吗?不,此时我们可以在这个目录下新建一个__init__.py文件(注意下划线是两个),用这个文件把所有需要导入的模块统一起来。里面这样写:
from good.a import *
from good.b import *
from good.c import *
a,b,c是good文件夹下的.py文件,也就是需要导入的那些模块。
此时调用方法是:
import good
good.f1()
good.f2()
也可以在__init__.py文件中定义__all__变量,这样写:
__all__=['a','b','c']
此时调用方法是:
from good import *
a.f1()
b.f2()
c.f3()
python的模块导入问题的更多相关文章
- [python]关于在python中模块导入问题追加总结
[背景] 最近在写程序时,我使用的eclipse编辑器运行都没有问题,然后部署到自动化环境上却偏偏报找不到相应模块问题,现在对该问题在之前的贴子上追加总结 原帖子:[python]关于python中模 ...
- python random模块导入及用法
random是程序随机数,很多地方用到,验证码,图片上传的图片名称等,下面说说python random模块导入及用法 1,模块导入 import random 2,random用法 random.r ...
- python Calendar 模块导入及用法
Calendar 是python 日历模块,此模块的函数都是日历相关的,例如打印某月的字符月历,星期之类的模块,下面剖析python Calendar 模块导入及用法. 1,python导入日历模块 ...
- python中模块导入问题(已解决)
想在python中导入request包: 无此模块,于是先安装requests包: 但是提示"Requirement already satisfied".在提示的相应目录里,找到 ...
- python自定义模块导入方法,文件夹,包的区别
python模块导入,网上介绍的资料很多,方法也众说纷纭.根据自己的实践,感觉这个方法最简单直接,而且可以与主流的python ide生成的工程是一样的. 规则只有三条 1. 严格区分包和文 ...
- python的模块导入机制
在python中用import或者from...import来导入相应的模块. 模块(Module)其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模 ...
- python之模块导入和包
一.何为模块 1.一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 2.模块目的和函数,对象等一样,是为了代码的复用性而存在的.即一个py程序写了很多功能,也可 ...
- Python之模块导入
import sys #import module (.py)import functools #名词空间 functoolsprint(functools) print("-------- ...
- python之模块导入和重载
模块导入和重载 模块导入通过import语句实现,但是在同一次会话中只运行一次. 若想要再次运行文件,调用imp标准库中的reload函数: >>> from imp import ...
随机推荐
- 微信小程序 - 考试前三排名实现
实现原理:利用背景图片以及nth-child实现
- Java下HttpUnit和Jsoup的Http抓取
简单记录下:搜集信息-分析问题-解决问题 关于html文档的操作现成库有: HttpUnit 很老了,不更了 http://www.httpunit.org/ 20 May 2008 HttpUni ...
- python DOM解析XML
#conding:utf-8 # -*- coding:utf-8 -*- __author__ = 'hdfs' """ XML 解析 :DOM解析珍整个文档作为一个可 ...
- servletResponse 文件下载
package response; import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOEx ...
- 写一段代码,判断一个包括'{','[','(',')',']','}'的表达式是否合法(注意看样例的合法规则。) 给定一个表达式A,请返回一个bool值,代表它是否合法。
这道题比较奇怪,它的匹配规则并不是我们平时想想的那种匹配规则,例如:平时的匹配规则是().{}.[]才能匹配,本题中(和} .].)都能匹配.所以做题时要好好审题.另外,本题中给的测试用例是错误的. ...
- Erlang节点重启导致的incarnation问题(转)
转自霸爷的博客: 转载自系统技术非业余研究 本文链接地址: Erlang节点重启导致的incarnation问题 遇到个问题, =ERROR REPORT==== 10-Mar-2016::09:44 ...
- redis错误error记录
早上登服务器,看到程序的redis的报错, 具体如下: (error) MISCONF Redis is configured to save RDB snapshots, but is curren ...
- 多媒体开发之---如何确定slice_header slice_type 的位置
引用网友的问答:我找到0x000001 NAL的开头了,请问如何确定slice head的位置,继而得出slice_type呢?Nal unit后紧跟的就是slice head吗?标准里的循环让人看得 ...
- react build和server start
先到项目目录build项目 npm run build 项目会打包到dist文件夹下 index.html和index.js等 react的项目build后不能直接访问的问题 先执行 npm inst ...
- 数据结构与算法之枚举(穷举)法 C++实现
枚举法的本质就是从全部候选答案中去搜索正确的解,使用该算法须要满足两个条件: 1.能够先确定候选答案的数量. 2.候选答案的范围在求解之前必须是一个确定的集合. 枚举是最简单.最基础.也是最没效率的算 ...