52

私は Web アプリケーション開発初心者です。ファイルを開いて読み取る関数があります。残念ながら、テスト サーバーと運用サーバーのディレクトリ構造は異なります。「~に対する相対パスを使う」ように言われました。ただし、「〜」に関するリソースを見つけることができませんでした!

パスのコンテキストでチルダ文字を使用するにはどうすればよいですか?

編集:これはPythonです。os.path.expanduser('~/path/in/home/area')を使用して問題を修正しました。

4

3 に答える 3

44

UNIXでは$HOMEvar で、通常は/home/username.

「あなたの家」は、次のようなコマンドを実行しているユーザーの家を意味しcd ~/MyDocuments/ますcd /home/user_executing_cd_commnd/MyDocuments

于 2010-08-15T18:14:59.970 に答える
17

$HOMEシェル スクリプトを作成したり、 forの値を置き換えることを知っている他の言語を使用したりしない限り~、ファイル パスのチルダは特別な意味を持たず、他の非特殊文字として扱われます。

シェル スクリプトを作成している場合、チルダが引数の最初の文字として出現しない限り、シェルはチルダを解釈しません。言い換えると、~/fileは になりますが/path/to/users/home/directory/file./~/file文字どおりに解釈されます (つまり、「呼び出された」fileのサブディレクトリで.呼び出されたファイル~)。

URL で使用される、チルダをユーザーのホーム ディレクトリ (例: http://www.foo.org/~bob) の短縮形として解釈するのは、Unix から借用した規則です。実装は完全にサーバー固有であるため、Web サーバーのドキュメントをチェックして、特別な意味があるかどうかを確認する必要があります。

于 2010-08-15T20:46:31.027 に答える