python的模块module导入

最近有一个项目要使用python连接mysql数据库,最方便的就是使用python的第三方依赖包pymysql了。但集群环境的调度机上只有python的最基本组件而且不让装这类第三方依赖包,就只能想办法将pymysql的依赖包直接在项目中作为模块导入了。

作为一个只看了几小时python语法的菜鸟,很多概念都不清楚,理论可以说知道一些但都没有实践过,语句基本都只能依样画葫芦的修改然后看结果,话不多说直接开始各种尝试!

大前提:python环境已装好

首先第一步,要想知道模块导入的结果,第一个碰到的问题就是在windows下首先得要能执行一个python文件看看输出结果吧。

一、windows下py文件的执行

新建一个test.py文件,位置在C:/test/test2(后续都称目录

窗口输入cmd打开命令行,cd命令进入目录下(一定要进入当前目录),输入命令python test.py就可以执行py文件了。

(这个步骤很简单,之所以要单独拎出来是一开始的时候连python命令在哪使用,要进入当前目录都不清楚,这里大概理了下思路,需要明白一些基础)

二、python模块、包概念

Python 模块(Module),就是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块里面可以定义函数,类和变量,模块里也能包含可执行的代码。

包,是一个分层次的目录结构,定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。 其实就是一个文件夹,不过文件夹下必须要有__init__.py模块,这个模块用来标识这个是一个包。

任何一个python文件,都可以以两种方式执行,一个是作为模块被导入,一个是做为python脚本文件被执行(也就是用python XX.py)

三、模块的导入示例

工具:pycharm

1.准备文件
在目录下有文件结构如下:
|—test
    |—test1
        |—package_runoob
            |—__init__.py
            |—runoob1.py
            |—runoob2.py
        |—test.py
        |—__init__.py
    |—test2
        |—import_otherModule.py

*注:没有截图的__init__.py文件说明该文件内容为空

runoob1.py
runoob2.py
packge_runoob.__init__.py

2.导入当前目录下的模块
以test.py作为示例。

test.py
test运行结果

分析:
package_runoob与调用脚本test.py处于同级目录,可以直接导入模块。
*注:模块导入有两种方法:
(1)from ,可以从模块中导入某个类或某个方法,在后面就可以直接使用该类或方法,这种方法导入需要注意后续自定义的类和方法尽量不要同名避免混淆。
(2)import module_name as a,直接导入某个模块,调用时需要a.类名或者a.方法名。

3.导入其他目录下的模块

test1.__init__py
import_otherModule.py
import_otherModule 运行结果

分析:
首先通过相对路径,将当前文件的上一级目录添加到python解释器搜寻文件目录。接下来就可以将该目录的包进行导入。
import test1:会导入test1模块,首先执行test1的__init__.py,而这个py文件中又导入了package_runoob,因此又会先执行package_runoob.__init__.py,所以结果显示“package_runoob init”。
test1.test1print()方法:之所以可以调用这个方法是因为__init__.py已经执行过了,这个方法已经在内存空间,结果显示出“this is print in test1 init”。
runoob2.runoob2_test():模块已经导入,可以使用模块.方法使用模块内的方法。

总结:
导入其他目录的方法可以使用相对导入,通过sys.path.append("相对路径")加入路径,然后再进行导入。
".."表示上一层目录,"../.."表示上两层,"../lib"表示上层目录下的lib目录。类推。

pycharm的python shell界面

可以在这个界面测试语句,每次enter都会返回当前语句的执行结果。terminal界面和cmd出来的windows界面功能一样,可以在该界面直接运行 python XXX.py运行某个python文件。 

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容