导入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中外部模块不用导入可以直接使用吗_python引入导入自定义模块和外部文件...

    python引入导入自定义模块和外部文件:项目中想使用以前的代码,或者什么样的需求致使你需要导入外部的包. 如果是web 下,比如说django ,那么你新建一个app,把你需要导入的说用东东,都写到 ...

  2. sqlyong导出sql没有数据_sqlyog怎么导入外部数据库-sqlyog导入数据库的方法 - 河东软件园...

    sqlyog是一款数据库管理工具,它并不是真正的数据库软件,但是也拥有很多相同的功能.今天小编要给大家介绍到的这个功能是大家在数据库中经常会使用到的,那就是导入外部数据库.我们在sqlyog中导入数据 ...

  3. python tcl 外部_python为什么有tcl|python教程|python入门|python教程

    https://www.xin3721.com/eschool/pythonxin3721/ 为增强ATOP程序与tcl/tk 的互动性, 探讨使用python编写ATOP程序后,能够有效运行现有的T ...

  4. sas 导入csv文件_SAS导入外部数据

    SAS导入外部数据 成功导入外部数据是sas分析的第一步,也是最基础的一步,其重要性我就不累述.在常规工作中我们经常使用excel,access等建立数据,不管数据类型是什么,举一反三,一是百通.在本 ...

  5. jshell如何导入外部包

    jshell如何导入外部包 默认导入的包 jshell会默认导入一些基础包,在jshell中键入/imports可以看到导入的包名: 导入外部包 需要手动导入,命令格式为/env --class-pa ...

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

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

  7. python语言中、外部模块先导入、再使用_python引入导入自定义模块和外部文件--转载Sumomo的博客...

    项目中想使用以前的代码,或者什么样的需求致使你需要导入外部的包 如果是web 下,比如说django ,那么你新建一个app,把你需要导入的说用东东,都写到这个app中,然后在setting中的app ...

  8. Python+selenium 自动化 - 实现自动导入、上传外部文件实例演示

    一开始我觉得导入外部文件是需要操作 windows 的文件窗口呢,后来发现原来不用那么麻烦,只要给文件上传的元素传一个本地路径就好了,就是一个 input 类型的. 右键元素点击检查可以看到对应的元素 ...

  9. python导入外部包_您会喜欢的10个外部Python软件包

    python导入外部包 by Adam Goldschmidt 亚当·戈德施密特(Adam Goldschmidt) 您会喜欢的10个外部Python软件包 (10 External Python p ...

最新文章

  1. DNS部署(四)之lvs+keepalived+bind架构高可用负载均衡DNS系统
  2. c语言和gtk实现的游戏,Ubuntu下用glade和GTK+开发C语言界面程序(一)
  3. Mybatis 关于同一条SQL语句实现批量插入和更新(SaveOrUpdate)完整版
  4. MySQL 磁盘空间不够用 方案_Mysql数据磁盘不足,不停机扩容方案
  5. HDU Problem - 1969 Pie(二分,精度)
  6. 算法和时间复杂度概念(一级)
  7. python删除列表中的重复值_如何从 Python 列表中删除重复项
  8. pkcs1转pkcs8 php,openssl RSA密钥格式PKCS1和PKCS8相互转换
  9. Github上不错的Android开源代码(一)
  10. hdu5652:India and China Origins(并查集)
  11. Harmony OS — DatePicker日期选择器
  12. matlab插值函数 外插,02-函数插值--Matlab插值函数
  13. 【MAF】MAF插件框架简介
  14. 无法连接wifi Wifi 6 mt7921 wireless lan card无法启用
  15. 大战华为4年,香奈儿再次败诉!网友:你瞎还是我瞎?
  16. CSS样式层叠关系(一)-- 外部,内部与内联
  17. strrchr和strchr用法
  18. java eventbus_Guava学习笔记:EventBus
  19. 东方博宜OJ 1002 - 【入门】编程求解1+2+3+...+n
  20. python程序系统找不到指定文件_调用失败“系统找不到指定的文件”

热门文章

  1. STL源码剖析学习七:stack和queue
  2. 项目工作展望(风来)
  3. Python web 项目的依赖管理工具
  4. Java线程之join
  5. c++11 模板的别名
  6. 软件开发代码中各国语言对应的缩写
  7. php+sqlrelay+mysql实现连接池及读写负载均衡
  8. 黑马程序员-JAVA基础-IO流中的装饰设计模式
  9. html5 游戏学习
  10. 充血模型的ORM能做什么?——ORM组件XCode(十八般武艺)