當我有如圖這樣檔案架構時:
# a.py 檔案源**
import pandas as pd
import os
deffunc()
:# current_dirname = os.path.dirname(__file__)
# df = pd.read_csv(current_dirname + "/data.csv")
df = pd.read_csv(
"data.csv"
)print
(df)
if __name__ ==
'__main__'
: func(
)
# maina.py 檔案源**
from modulea.a import func
if __name__ ==
'__main__'
: func(
)
直接執行a.py
自然是列印data.csv
的內容。
但是直接執行maina.py
,會列印
filenotfounderror: [errno 2] file b'data.csv' does not exist: b'data.csv'
,表示找不到data.csv
檔案。即,從外部進入的程式再呼叫fuc()
函式時,讀入data.csv
只會從與自己同根目錄下尋找。
如果想讓modulea
內的程式直接尋找自己模組檔案內的資料如何辦呢?解除func()前兩行的注釋,再進行一下小修改,如下**所示。
# a.py 檔案源**
import pandas as pd
import os
deffunc()
: current_dirname = os.path.dirname(__file__)
df = pd.read_csv(current_dirname +
"/data.csv"
)# df = pd.read_csv("data.csv")
print
(df)
if __name__ ==
'__main__'
: func(
)
__file__
是python內建變數,儲存本檔案的絕對路徑名
os
模組中os.path.dirname()
則可以返回檔案的上級目錄
示例專案位址
參考:
自我強化1 自建模組,重新匯入模組
在python中自建乙個模組,比如這樣,新建乙個py檔案 def abc print 123 然後儲存好,命名為abc.py 在shell中做以下操作 import sys sys.path然後可以看到返回了乙個列表,列表中的元素是一堆電腦中的路徑,這些路徑是當你import模組時,程式在這些路徑中...
企業如何自建呼叫中心
通過近段時間本專版同廣州誠伯資訊 共同以呼叫中心為主題的作出相關報道,相信廣大讀者對該領域有了一定的了解。我們談到從呼叫中心建設形式看,有外包和自建兩種。誠然,外包是目前企業應用更為普遍的一種方式 ccid資料表明,運用呼叫中心的企業中,71 是選擇外包服務的 但企業也有必要對如何開發建設呼叫中心進...
python呼叫模組時傳參出錯
首先定義了乙個login模組,傳參是兩個 username,password coding utf 8 def login self,username,password driver self.driver self.driver.implicitly wait 30 不加等待會出錯 driver....