簡體   English   中英

我應該在我的python項目中的哪里放置config.txt

[英]Where should I place a config.txt in my python project

項目文件夾層次結構看起來像

ProjectName
   ->src
      ->Project.sikuli
          ->myFile.py
          ->config.txt

現在,我將所有設置變量存儲在config.txt中,並且正在使用ConfigParser從中獲取值。 我在這里使用此配置文件的原因是,當此sikuli腳本移至另一台機器上運行時,我可以更改其中的值(如路徑,用戶名,密碼),而不用編輯主python腳本'myFile .py'。
但是我現在遇到的問題是我不希望將配置文件放置在項目外部的某個位置,這樣當我嘗試從中獲取值時,在腳本中不必提及絕對值。再次在myFile.txt中輸入路徑,例如:

configParser = ConfigParser.RawConfigParser()
configfilePath = r'D:\MyWorkspace\ProjectName\src\Project.sikuli\config.txt'

相反,我希望在此處具有相對路徑,以便在將項目從計算機遷移到計算機時,不必在主腳本“ myFile.py”中進行任何操作。

所以我想要達到的目標是:我應該能夠通過給出config.txt文件的相對路徑來引用它:

configfilePath = r'D:\MyWorkspace\ProjectName\src\Project.sikuli\config.txt'

如果將其與myFile.py保留在同一文件夾中,那么在該Python腳本中,您可以使用以下內容:

configfilePath = os.path.join(os.path.dirname(__file__), 'config.txt')

最佳方法是像在示例中所做的那樣,將文件放入 .sikuli捆綁包中,然后按以下方式獲取文件的路徑:

configFilePath = os.path.join(getBundlePath(), 'config.txt')

我知道您可以通過導入python文件來獲取變量和值...

import config

我會把它放在項目的根目錄中

首先,獲取當前執行的python腳本的路徑:

myPath = os.path.abspath(os.path.dirname(sys.argv[0]))

然后將myPath和'config.txt'連接起來

configfilePath = os.path.join(myPath, 'config.txt')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM