簡體   English   中英

如何概括/獲取python腳本的Linux路徑的基本目錄

[英]how to generalize/get base directory for Linux path for python script

(Linux)在Bash中,我可以使用variableName = cd $ BASEDIR。/ Desktop替換HOME / userName / Destop。 如何在Python中實現相同目標?

示例:需要替換home / name為通用名,以便我可以從多個主機運行它。 f =打開(“主目錄/名稱/目錄/子目錄/file.cfg”、“r”)

您可能會從os.path.expanduseros.path.expandvars得到一些使用:

>>> import os
>>> os.path.expanduser('~/Desktop')
'/home/userName/Desktop'

或者,假設您的環境中定義了$BASEDIR

>>> import os
>>> os.path.expandvars('$BASEDIR/Desktop')
'/home/userName/Desktop'

使用第一個選項,也許您可​​以執行以下操作:

f = open(os.path.expanduser("~/directory/subdirectory/file.cfg"), "r")

您可以直接從os.environ讀取環境變量:

import os
basedir = os.environ.get('BASEDIR')

為了可靠地構建路徑, os模塊提供了os.path.join 如果變量未定義,您還應該提供一個備用。 可能看起來像這樣:

import os
my_path = os.path.expanduser(os.path.join(
    os.environ.get('BASEDIR', '~'),  # default to HOME
    'Desktop'
)

請注意,環境變量可能不是最理想的解決方案。 查看參數,例如通過argparse模塊

嘗試使用libray命令。

import commands

commands.getoutput("cd $BASEDIR./Desktop")

暫無
暫無

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

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