パスのコンテキストで「〜」(Tilde)を使用するにはどうすればよいですか?
質問
私はWebアプリケーション開発Noobです。ファイルを開いて読み取る関数があります。残念ながら、テストサーバーと生産サーバー間のディレクトリ構造は異なります。 「〜に対するパスを使用する」と言われました。しかし、「〜」にリソースを見つけることができませんでした!
パスのコンテキストでTilde文字を使用するにはどうすればよいですか?
編集:これはPythonにあります。使用して問題を修正しました os.path.expanduser( '〜/path/in/home/area').
解決
それはあなたです $HOME
var in unix、通常はそうです /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)