Windows 7 で mklink コマンドを使用してシンボリック リンクを作成し、Python の os.path.islink() 関数を使用してそのパス名を照会すると、関数は正しく True を返します。また、私のリンクを含むディレクトリで dir-command を呼び出すと、そのタイプは として正しく表示され<SYMLINK>
ます。
ただし、ClearCase のシンボリック リンク (cleartool ln -s ... で作成) を使用すると、os.path.islink() は常に False を返し、Window の dir コマンドは要素を通常のファイル (つまり、<SYMLINK>
属性なし) として表示します。
ディレクトリ ツリー (ClearCase の制御下にある場合とそうでない場合があります) に再帰的に降りるスクリプトを作成しているため、これは問題です。無限の再帰を回避できるようにするためには、 directory は、実際のディレクトリまたは別のディレクトリへの単なるシンボリック リンクです。同様に、同じファイルを複数回処理しないように、ファイルへのシンボリック リンクも処理できる必要があります。
他の誰かがこの問題に遭遇しましたか? ちなみに、ClearCase v7.1.2.7を使用しています。