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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2023/12/19 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎么把文件导入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$ python

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

>>> import fox

>>> fox.what_does_the_fox_say()

vixens cry

>>>

您通過python解釋器導入了fox,并what_does_the_fox_say()從fox.py中調用了python函數。

示例2,在腳本中使用execfile或(exec在Python 3中)在適當的位置執行另一個python文件:

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

def moobar():

print("hi")

將其放在/home/el/foo2/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/foo3/chekov.py中:

def question():

print "where are the nuclear wessels?"

將其放在/home/el/foo3/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/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()

運行:

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,通過piggy帶python startuphook導入文件:

更新:此示例曾經同時適用于python2和3,但現在僅適用于python2。python3擺脫了此用戶啟動鉤子功能集,因為它被低技能的python庫編寫者濫用,使用它在所有用戶定義的程序之前不禮貌地將其代碼注入到全局名稱空間中。如果您希望此功能適用于python3,則必須變得更有創意。如果我告訴您如何做,python開發人員也會禁用該功能集,因此您是一個人。

參見: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!")

運行它,您應該獲得以下信息:

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

如果您在此處遇到錯誤:ModuleNotFoundError: No module named 'user'這意味著您使用的是python3,默認情況下會禁用啟動鉤。

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

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

建立一個新目錄 /home/el/foo5/

建立一個新目錄 /home/el/foo5/herp

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

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

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

__init__.py

新建一個目錄/ home / el / foo5 / herp / derp

在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 / foo5 / herp / derp下,創建一個名為yolo.pyPut this 的新文件:

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.py

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

of men. SKYCAKE!!

空__init__.py文件會通知python解釋器開發人員打算將此目錄作為可導入包。

2020-02-11

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。