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

歡迎訪問 生活随笔!

生活随笔

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

python

python引用其他文件提示找不到模块_Python:为什么导入的模块不能引用另一个导入的模块?...

發布時間:2023/12/4 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python引用其他文件提示找不到模块_Python:为什么导入的模块不能引用另一个导入的模块?... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如果您以這種方式修改了subtwo.py,那么它將起作用

import subone

print subone.a

當你在subtwo.py中執行subone.a時,你試圖訪問subtwo.py和命名空間“subone”中的命名空間subone,應該有一個屬性“a”.

當你這樣做 – 在subtwo.py中導入subone時,subone被添加到命名空間,subone命名空間有屬性a.所以subone.a會起作用.

我還建議您使用dir()來查看如何添加命名空間.

在subtwo.py中,您可以執行以下操作:

print dir()

import subone

print dir()

print subone.a

同樣,嘗試在import語句之前和之后添加“print dir()”,這個想法應該變得清晰.

“import x” adds ‘x’ to the current modules

namespace while “from x import * ” will

add all the module level attributes

directly into current module namespace

所以在上面的main.py,subone.py和subtwo.py的第一個例子中,main.py中的命名空間將包含’subone’和’subtwo’,而subtwo.py將具有空命名空間,并且無法訪問subone.a .

[編輯:更多解釋]

考慮以下文件:

main.py

print "Before importing subone : ", dir()

import subone

print "After importing subone and before importing subtwo: ", dir()

import subtwo

print "After importing subone and subtwo: ", dir()

subone.py

a = 'abc'

subtwo.py

print dir()

import subone

print "module level print: ", subone.a

print dir()

def printX():

print subone.a

并運行main.py的輸出:

Before importing subone : ['__builtins__', '__doc__', '__file__', '__name__', '__package__']

After importing subone and before importing subtwo: ['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'subone']

['__builtins__', '__doc__', '__file__', '__name__', '__package__']

module level print: abc

['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'subone']

After importing subone and subtwo: ['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'subone', 'subtwo']

Some Observations

>您會注意到導入模塊subtwo.py,會立即執行print語句.>因此,當在main.py中導入subone和subtwo時,main.py的命名空間會被擴充.>這并不意味著將增加subtwo的命名空間.所以“a”只能通過subone.a在main.py中使用>當我們在subtwo.py中導入subone時,subwo的命名空間用subone增加,而subow.py中的module subone屬性可通過subone.a獲得.

總結

以上是生活随笔為你收集整理的python引用其他文件提示找不到模块_Python:为什么导入的模块不能引用另一个导入的模块?...的全部內容,希望文章能夠幫你解決所遇到的問題。

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