日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

怎么把文件导入python_如何导入其他Python文件?

發(fā)布時(shí)間:2023/12/19 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎么把文件导入python_如何导入其他Python文件? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

小編典典

導(dǎo)入python文件的方法有很多,各有利弊。

不要只是匆忙地選擇適合您的第一個(gè)導(dǎo)入策略,否則稍后您將在發(fā)現(xiàn)不符合您的需求時(shí)重寫(xiě)代碼庫(kù)。

我將首先說(shuō)明最簡(jiǎn)單的示例#1,然后將介紹最專(zhuān)業(yè),最可靠的示例#7

示例1,使用python解釋器導(dǎo)入python模塊:

將其放在/home/el/foo/fox.py中:

def what_does_the_fox_say():

print("vixens cry")

進(jìn)入python解釋器:

el@apollo:/home/el/foo$ python

Python 2.7.3 (default, Sep 26 2013, 20:03:06)

>>> import fox

>>> fox.what_does_the_fox_say()

vixens cry

>>>

您通過(guò)python解釋器導(dǎo)入了fox,并what_does_the_fox_say()從fox.py中調(diào)用了python函數(shù)。

示例2,在腳本中使用execfile或(exec在Python 3中)在適當(dāng)?shù)奈恢脠?zhí)行另一個(gè)python文件:

將其放在/home/el/foo2/mylib.py中:

def moobar():

print("hi")

將其放在/home/el/foo2/main.py中:

execfile("/home/el/foo2/mylib.py")

moobar()

運(yùn)行文件:

el@apollo:/home/el/foo$ python main.py

hi

功能moobar是從mylib.py導(dǎo)入的,并在main.py中可用

示例3,從…使用…導(dǎo)入…功能:

將其放在/home/el/foo3/chekov.py中:

def question():

print "where are the nuclear wessels?"

將其放在/home/el/foo3/main.py中:

from chekov import question

question()

像這樣運(yùn)行它:

el@apollo:/home/el/foo3$ python main.py

where are the nuclear wessels?

如果您在chekov.py中定義了其他函數(shù),那么除非您使用它們,否則它們將不可用 import *

示例4,如果導(dǎo)入的riaa.py與導(dǎo)入的文件位于不同的位置,請(qǐng)導(dǎo)入

將其放在/home/el/foo4/stuff/riaa.py中:

def watchout():

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

將其放在/home/el/foo4/main.py中:

import sys

import os

sys.path.append(os.path.abspath("/home/el/foo4/stuff"))

from riaa import *

watchout()

運(yùn)行:

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

computers are transforming into a noose and a yoke for humans

那會(huì)從另一個(gè)目錄導(dǎo)入外部文件中的所有內(nèi)容。

示例5,使用 os.system(“python yourfile.py”)

import os

os.system("python yourfile.py")

示例6,通過(guò)piggy帶python startuphook導(dǎo)入文件:

更新:此示例曾經(jīng)同時(shí)適用于python2和3,但現(xiàn)在僅適用于python2。python3擺脫了此用戶(hù)啟動(dòng)鉤子功能集,因?yàn)樗坏图寄艿膒ython庫(kù)編寫(xiě)者濫用,使用它在所有用戶(hù)定義的程序之前不禮貌地將其代碼注入到全局名稱(chēng)空間中。如果您希望此功能適用于python3,則必須變得更有創(chuàng)意。如果我告訴您如何做,python開(kāi)發(fā)人員也會(huì)禁用該功能集,因此您是一個(gè)人。

參見(jiàn):https : //docs.python.org/2/library/user.html

將此代碼放入您的主目錄中 ~/.pythonrc.py

class 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!")

運(yùn)行它,您應(yīng)該獲得以下信息:

$ python main.py

The 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!

如果您在此處遇到錯(cuò)誤:ModuleNotFoundError: No module named 'user'這意味著您使用的是python3,默認(rèn)情況下會(huì)禁用啟動(dòng)鉤。

值得一提的是:https : //github.com/docwhat/homedir-examples/blob/master/python-commandline/.pythonrc.py隨便 發(fā)送。

示例7,最健壯:使用裸導(dǎo)入命令在python中導(dǎo)入文件:

建立一個(gè)新目錄 /home/el/foo5/

建立一個(gè)新目錄 /home/el/foo5/herp

制作一個(gè)__init__.py在herp下命名的空文件:

el@apollo:/home/el/foo5/herp$ touch __init__.py

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

__init__.py

新建一個(gè)目錄/ home / el / foo5 / herp / derp

在derp下,制作另一個(gè)__init__.py文件:

el@apollo:/home/el/foo5/herp/derp$ touch __init__.py

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

__init__.py

在/ home / el / foo5 / herp / derp下,創(chuàng)建一個(gè)名為yolo.pyPut this 的新文件:

def skycake():

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

"the bulk of men. SKYCAKE!!"

關(guān)鍵時(shí)刻,創(chuàng)建新文件/home/el/foo5/main.py,并將其放入其中;

from herp.derp.yolo import skycake

skycake()

運(yùn)行:

el@apollo:/home/el/foo5$ python main.py

SkyCake evolves to stay just beyond the cognitive reach of the bulk

of men. SKYCAKE!!

空__init__.py文件會(huì)通知python解釋器開(kāi)發(fā)人員打算將此目錄作為可導(dǎo)入包。

2020-02-11

總結(jié)

以上是生活随笔為你收集整理的怎么把文件导入python_如何导入其他Python文件?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。