![](/img/trans.png)
[英]How do I import an object from main.py (in the root directory), into a module contained in a subdirectory?
[英]Execute sh in subdirectory from main.py script?
我正在嘗試做以下事情。 我有一個帶有此目錄樹的python項目:
Project dir
|
|___main.py
|___module
|
|__a.py
|__a.sh
a.py
有一個帶有運行腳本的方法的類:
class A():
def run():
os.system('a.sh')
然后a.sh
創建一個文件:
touch a.txt
然后main.py
實例化一個類A
的對象並調用run()
:
a = A()
a.run()
調用main
,出現一個錯誤,提示script a.sh is not found
我知道為什么會這樣,這是因為工作目錄等於項目的根路徑,但是如何使它工作,以使創建的文件最終位於根路徑中?
我想調用main.py
並以該配置結束。
Project dir
|
|___a.txt
|___main.py
|___module
|
|__a.py
|__a.sh
我可以取代調用a.sh
在a.py
到
os.system('module/a.sh')
它可以工作,但對我來說看起來並不干凈。
a.py
模塊中的代碼可以提取其所在目錄的名稱,並在os.system()
調用中使用該名稱。 這就是我的意思:
文件a.py
:
import os
class A():
def run(self):
my_directory = os.path.dirname(__file__)
script_path = os.path.join(my_directory, 'a.sh')
os.system(script_path)
a = A()
a.run()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.