我在Linux上使用cron-scheduled Python 2.7
程序在CodeIgniter
應用程序樹內創建各種HTML文件部分,圖像縮略圖等。實際的Python程序位於CodeIgniter
樹下,位於應用程序目錄下一級子目錄下,如下所示。從Linux的Python子目錄查找頂級目錄
codeigniter/web-root
|
application
| |
| scripts
| | |
| | my-program.py
| |
| database
| |
| database.sqlite
images
我想確定從my-program.py
從os.path
模塊使用方法中的codeigniter/web-root
目錄。但是,在開發和生產環境中,codeigniter/web-root
的絕對路徑是不同的,所以我不希望將此路徑信息硬連線到Python程序本身。
當前腳本使用以下結構來確定「codeigniter/web-root」的絕對路徑,它是兩個環境中腳本本身之上的兩個目錄級別。
#!/bin/env python2.7
import os.path
ci_root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
是否有更簡潔的方式來確定頂級(ci_root)目錄而不使用多個os.path.dirname
調用?
shtako ......你快:) +1 – Ochi
這實際上導致它也躥升一個太多的目錄級別。是否有一種方法可以根據__file__屬性執行此操作,以便起始目錄不會影響程序的執行。例如,如果我想從我的$ HOME目錄除cronjob之外執行此操作,程序將因指定相對路徑而中斷。 – JTP