python导入文件-如何导入其他Python文件?
导入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文件?相关推荐
- python导入xlsx文件-python怎么用pd导入xlsx
python使用pandas和xlsxwriter读写xlsx文件,下面给大家带来相关步骤: 已有xlsx文件如下: 1. 读取前n行所有数据 # coding: utf-8 import panda ...
- 对python来说、一个模块就是一个文件-python导入自定义模块和包
参考资料 https://blog.csdn.net/gvfdbdf/article/details/52084144 http://www.runoob.com/python/python-modu ...
- 终端证书文件批量导入数据库的Python源码
用于将终端证书文件批量导入进数据库 [注意]Python2和Python3,在数的进制转换上,不太一样 Python 2 content_str += binascii.hexlify(b) Pyth ...
- python如何将utf-8编码文件改为ansi编码文件_Excel导入CSV文件乱码?两个小方法让文件正常显示...
最近网友抱怨,收到别人发来的数据表,打开后长这样: CSV再EXCEL中显示为乱码 除了数字,其他是啥玩意儿 完全乱码... (乱码!乱马!乱吗?乱!) 但是当使用记事本打开,检查确认是否文件有问题时 ...
- ksd文件怎么导入存档_DAY5-step5 Python 示例说明 ZIP 压缩文件
Python使您可以快速创建zip或者tar压缩文档. 以下命令将压缩整个目录 shutil.make_archive(output_filename, 'zip', dir_name) 以下命令使您 ...
- Python批量Excel文件数据导入SQLite数据库的优化方案
说明:1)需要安装扩展库openpyxl:2)随着数据库的增大,导入速度可能会有所下降:3)本文只考虑Python代码优化,没有涉及数据库的优化:4)本文要点在于使用executemany实现批量数据 ...
- python获取当前路径导包_python 通过文件夹导入包的操作
通过文件夹导入包要求每个目录下都有一个__init__.py文件,此文件可空白.也可不空.a@ubuntu:~/Desktop$ tree myp myp ├── a │ ├── b.py │ └── ...
- python读取大文件csv_对python中大文件的导入与导出方法详解
1.csv文件的导入和导出 通过一个矩阵导出为csv文件,将csv文件导入为矩阵 将csv文件导入到一个矩阵中 import numpy my_matrix = numpy.loadtxt(open( ...
- python从指定文件夹导入模块_python – 从特定文件夹导入模块
我有一个名为Script的文件夹,里面有temp.py脚本.我的临时脚本从名为lib的子文件夹导入模块. Lib文件夹里面有空的__init__.py和我的parent_computer_test.p ...
- python读取dat文件写入表格_Pandas:外部文件数据导入/ 读取 (如 :csv、txt、tsv、dat、excel文件)、文件存储(to_csv、to_excel)...
一.文本文件读取 文本文件是一种由若干行字符构成的计算机文件,它是一种典型的顺序文件. csv是一种逗号分隔的文件格式,因为其分隔符不一定是逗号,又被称为字符分隔文件,文件以纯文本形式存储表格数据(数 ...
最新文章
- Apache 编译安装
- aop:aspectj-autoproxy /
- 数据结构与算法之插入排序
- 解决yum锁定Another app is currently holding the yum lock; waiting for it to exit...
- Linux的sys接口和proc接口创建
- 【转】 CSS3实现10种Loading效果
- mysql job 存储过程_mysql 记录下工作中自己写的存储过程
- python 爬虫 客户端_python爬虫
- 【UWA 学堂】部分渲染课程的调价通知
- HBuilderX 插件下载失败 解决
- 寻求任意颜色转CMY的方法,帮个忙
- html前端代码的初步实现(一)
- 计算机设备驱动程序的安装与更新,电脑系统驱动如何安装更新?
- 工作室课题-第二周笔记
- Word怎么在方框里面打对勾
- python 网页爬虫,带登陆信息
- 不是所有的努力都会有结果,但是你若不努力,谁能替你坚强??
- 提供一个 无限存储 空间 免费网盘
- MT6572背光不够亮
- 计算机硬件基础知识txt,计算机硬件基础知识及使用方法简介