私はWebアプリケーション開発の初心者です。ファイルを開いて読み取る関数があります。残念ながら、テストサーバーと運用サーバーのディレクトリ構造は異なります。 「〜に関連するパスを使用する」ように言われました。ただし、「〜」でリソースを見つけることができませんでした!
パスのコンテキストでチルダ文字を使用するにはどうすればよいですか?
編集:これはPythonです。 os.path.expanduser( '〜/ path/in/home/area') を使用して問題を修正しました。
uNIXの$HOME
varであり、通常は/home/username
です。
「あなたの家」とは、cd ~/MyDocuments/
がcd /home/user_executing_cd_commnd/MyDocuments
のようなコマンドを実行しているユーザーの家を意味します
$HOME
の値を~
に置き換えることがわかっているシェルスクリプトを作成するか、他の言語を使用している場合を除き、ファイルパスのチルダには特別な意味はなく、他の特殊ではないものとして扱われますキャラクター。
シェルスクリプトを記述している場合、シェルは、引数の最初の文字として発生しない限り、チルダを解釈しません。つまり、~/file
は/path/to/users/home/directory/file
になりますが、./~/file
は文字通りに解釈されます(つまり、.
のサブディレクトリにあるfile
というファイルは~
")。
URLで使用される、ユーザーのホームディレクトリの短縮形としてのチルダの解釈(例:http://www.foo.org/~bob
)は、Unixから借用した規則です。実装は完全にサーバー固有であるため、Webサーバーのドキュメントを調べて、特別な意味があるかどうかを確認する必要があります。
ファイル名にpathlibを使用している場合は、WindowsとLinuxの両方で使用できます(Windowsの回答のためにここに来ました):
python from pathlib import Path p = Path('~').expanduser() print(p)