簡體   English   中英

如何測試當前目錄是否為 $HOME?

[英]How to test if current directory is $HOME?

我正在將 shell 腳本轉換為 Python 腳本,並且在測試 IF 條件時遇到了一些問題。 在此環境中,我們正在運行 Python 3.9.2。

我最初設置了 2 個變量(homeDir 和 curDir),創建一個 if-else 條件來測試變量是否相等。

運行腳本我 cd 到 $HOME 目錄並運行 Python 腳本。

它總是打印“False”,即使控制台 output 顯示變量相等。

在 $HOME 目錄中運行腳本時,我希望腳本返回“Take Action ABC”。

顯示 output 的屏幕截圖:
在此處輸入圖像描述

代碼示例:

import os
from pathlib import Path

homeDir = Path.home()
curDir = os.getcwd()

print('DEBUG homeDir:', homeDir)
print('DEBUG curDir:', curDir)

if curDir == homeDir:
    print('True')
else:
    print('False')

你有不同類型的對象; homeDir是一個Path object,而curDir是一個str 因此,即使在語義上它們是相同的路徑,它們也不會比較相等。 使用一個或另一個模塊,而不是混合pathlibos 一種解決方案是更換

os.getcwd()

Path.cwd()

后者是等效於os.getcwd()pathlib

來自 Python 3.9 REPL 的示例從我的當前目錄是我的用戶主目錄調用:

>>> os.getcwd() == Path.home()
False
>>> Path.cwd() == Path.home()
True

暫無
暫無

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

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