导入python文件的方法很多,都有各自的优缺点。

不要仓促地选择对您有用的第一个导入策略,否则,当您发现代码基不能满足您的需要时,您将不得不重写代码基。

我将首先解释最简单的示例#1,然后我将转向最专业和最健壮的示例#7。

示例1:使用python解释器导入python模块:把这个放在/home/el/foo/fox.py中:def what_does_the_fox_say():

print("vixens cry")

进入python解释器:el@apollo:/home/el/foo$ pythonPython 2.7.3 (default, Sep 26 2013, 20:03:06) >>> import fox>>> fox.what_does_the_fox_say()vixens cry>>>

通过python解释器导入Fox,调用python函数。what_does_the_fox_say()从fox.py。

示例2,使用execfile或(exec在Python 3中)在执行另一个python文件的脚本中:把这个放在/home/el/foo 2/mylib.py中:def moobar():

print("hi")

把这个放在/home/el/foo 2/main.py中:execfile("/home/el/foo2/mylib.py")moobar()

运行文件:el@apollo:/home/el/foo$ python main.py

hi

功能moobar是从mylib.py导入并在main.py中提供的。

例3,使用.进口.。功能:把这个放在/home/el/foo 3/chekov.py中:def question():

print "where are the nuclear wessels?"

把这个放在/home/el/foo 3/main.py中:from chekov import question

question()

这样运行:el@apollo:/home/el/foo3$ python main.py

where are the nuclear wessels?

如果在chekov.py中定义了其他函数,则它们将不可用,除非import *

例4,导入riaa.py(如果它与导入的文件位置不同)把这个放在/home/el/foo 4/content/riaa.py中:def watchout():

print "computers are transforming into a noose and a yoke for humans"

把这个放在/home/el/foo 4/main.py中:import sys

import os

sys.path.append(os.path.abspath("/home/el/foo4/stuff"))from riaa import *watchout()

运行它:el@apollo:/home/el/foo4$ python main.py

computers are transforming into a noose and a yoke for humans

它从不同的目录中导入外部文件中的所有内容。

示例5,使用os.system("python yourfile.py")import os

os.system("python yourfile.py")

示例6,通过支持python startuphook导入您的文件:

将此代码放入主目录中~/.pythonrc.pyclass secretclass:

def secretmessage(cls, myarg):

return myarg + " is if.. up in the sky, the sky"

secretmessage = classmethod( secretmessage )

def skycake(cls):

return "cookie and sky pie people can"t go up and "

skycake = classmethod( skycake )

将此代码放入main.py(可以在任何地方):import user

msg = "The only way skycake tates good" msg = user.secretclass.secretmessage(msg)msg += user.secretclass.skycake()print(msg + "

have the sky pie! SKYCAKE!")

运行它:$ python main.pyThe only way skycake tates good is if.. up in the sky, the skycookie and sky pie people can"t go up and have the sky pie!

SKYCAKE!

示例7,最健壮:使用裸导入命令导入python中的文件:创建一个新目录

/home/el/foo5/

创建一个新目录

/home/el/foo5/herp

创建一个名为__init__.py草皮下:el@apollo:/home/el/foo5/herp$ touch __init__.py

el@apollo:/home/el/foo5/herp$ ls

__init__.py

创建一个新目录/home/el/foo 5/herp/derp

在脱衣舞下,再做一次__init__.py档案:el@apollo:/home/el/foo5/herp/derp$ touch __init__.py

el@apollo:/home/el/foo5/herp/derp$ ls

__init__.py

在/home/el/foo 5/herp/derp下面创建一个名为yolo.py把这个放进去:def skycake():

print "SkyCake evolves to stay just beyond the cognitive reach of " +

"the bulk of men. SKYCAKE!!"

在真相的时刻,制作新的文件/home/el/foo5/main.py把这个放进去from herp.derp.yolo import skycake

skycake()

运行它:el@apollo:/home/el/foo5$ python main.pySkyCake evolves to stay just beyond the cognitive reach of the bulk

of men. SKYCAKE!!

空荡荡的__init__.py文件与python解释器通信,开发人员希望这个目录是一个重要的包。

python导入文件-如何导入其他Python文件?相关推荐

  1. python导入xlsx文件-python怎么用pd导入xlsx

    python使用pandas和xlsxwriter读写xlsx文件,下面给大家带来相关步骤: 已有xlsx文件如下: 1. 读取前n行所有数据 # coding: utf-8 import panda ...

  2. 对python来说、一个模块就是一个文件-python导入自定义模块和包

    参考资料 https://blog.csdn.net/gvfdbdf/article/details/52084144 http://www.runoob.com/python/python-modu ...

  3. 终端证书文件批量导入数据库的Python源码

    用于将终端证书文件批量导入进数据库 [注意]Python2和Python3,在数的进制转换上,不太一样 Python 2 content_str += binascii.hexlify(b) Pyth ...

  4. python如何将utf-8编码文件改为ansi编码文件_Excel导入CSV文件乱码?两个小方法让文件正常显示...

    最近网友抱怨,收到别人发来的数据表,打开后长这样: CSV再EXCEL中显示为乱码 除了数字,其他是啥玩意儿 完全乱码... (乱码!乱马!乱吗?乱!) 但是当使用记事本打开,检查确认是否文件有问题时 ...

  5. ksd文件怎么导入存档_DAY5-step5 Python 示例说明 ZIP 压缩文件

    Python使您可以快速创建zip或者tar压缩文档. 以下命令将压缩整个目录 shutil.make_archive(output_filename, 'zip', dir_name) 以下命令使您 ...

  6. Python批量Excel文件数据导入SQLite数据库的优化方案

    说明:1)需要安装扩展库openpyxl:2)随着数据库的增大,导入速度可能会有所下降:3)本文只考虑Python代码优化,没有涉及数据库的优化:4)本文要点在于使用executemany实现批量数据 ...

  7. python获取当前路径导包_python 通过文件夹导入包的操作

    通过文件夹导入包要求每个目录下都有一个__init__.py文件,此文件可空白.也可不空.a@ubuntu:~/Desktop$ tree myp myp ├── a │ ├── b.py │ └── ...

  8. python读取大文件csv_对python中大文件的导入与导出方法详解

    1.csv文件的导入和导出 通过一个矩阵导出为csv文件,将csv文件导入为矩阵 将csv文件导入到一个矩阵中 import numpy my_matrix = numpy.loadtxt(open( ...

  9. python从指定文件夹导入模块_python – 从特定文件夹导入模块

    我有一个名为Script的文件夹,里面有temp.py脚本.我的临时脚本从名为lib的子文件夹导入模块. Lib文件夹里面有空的__init__.py和我的parent_computer_test.p ...

  10. python读取dat文件写入表格_Pandas:外部文件数据导入/ 读取 (如 :csv、txt、tsv、dat、excel文件)、文件存储(to_csv、to_excel)...

    一.文本文件读取 文本文件是一种由若干行字符构成的计算机文件,它是一种典型的顺序文件. csv是一种逗号分隔的文件格式,因为其分隔符不一定是逗号,又被称为字符分隔文件,文件以纯文本形式存储表格数据(数 ...

最新文章

  1. Apache 编译安装
  2. aop:aspectj-autoproxy /
  3. 数据结构与算法之插入排序
  4. 解决yum锁定Another app is currently holding the yum lock; waiting for it to exit...
  5. Linux的sys接口和proc接口创建
  6. 【转】 CSS3实现10种Loading效果
  7. mysql job 存储过程_mysql 记录下工作中自己写的存储过程
  8. python 爬虫 客户端_python爬虫
  9. 【UWA 学堂】部分渲染课程的调价通知
  10. HBuilderX 插件下载失败 解决
  11. 寻求任意颜色转CMY的方法,帮个忙
  12. html前端代码的初步实现(一)
  13. 计算机设备驱动程序的安装与更新,电脑系统驱动如何安装更新?
  14. 工作室课题-第二周笔记
  15. Word怎么在方框里面打对勾
  16. python 网页爬虫,带登陆信息
  17. 不是所有的努力都会有结果,但是你若不努力,谁能替你坚强??
  18. 提供一个 无限存储 空间 免费网盘
  19. MT6572背光不够亮
  20. 计算机硬件基础知识txt,计算机硬件基础知识及使用方法简介

热门文章

  1. 163相册密码破解 - 简单版
  2. 《XIM 企业即时通讯软件》
  3. 评论:索尼爱立信能否重振雄风?
  4. 装逼神器,5 行 Python 代码 实现一键批量扣图,你get到了吗
  5. 跳槽和求职 ,10条掏心建议
  6. 经典面试题(46):以下代码将输出的结果是什么?
  7. struts国际化java_java框架篇---Struts2 本地化/国际化(i18n)
  8. 机器学习 | 模型选择
  9. 聊聊用于特征处理的tsfresh
  10. 极光推送 java api_JPush极光推送Java服务器端API