0

現在、Linux マシンで python を実行しており、vbox で Windows XP ゲストを実行しています。XPマシンの共有フォルダにアクセスしたい。次のコマンドを試しましたが、常に同じエラーが発生します。

d = os.listdir(r"\\remoteip\share")   
OSError: [Errno 2] No such file or directory  

XP の共有フォルダーは、Shared Documents フォルダーに新しいフォルダーを作成することによって作成され、マシンに ping を実行できます。

4

1 に答える 1

1

Windows 共有は、smb プロトコルを使用して実装されます。Windows エクスプローラーとほとんどの Linux ファイル マネージャー (Nautilus など) は、ユーザーに対して透過的であるため、smb を介して共有されるファイル\フォルダーに対して一般的なファイル操作を簡単に実行できます。

ただし、Linux (およびその上で実行される Python) は、デフォルトではファイル システム レベルでこの抽象化を追加しません (ただし、fs の一部として smb 共有をマウントすることはできます)。

したがって、最終的に、これらのファイルにアクセスするには、次のことができます。

  1. (詳細についてはmanまたはgoogle)を使用して共有をマウントし、mount -t cifs通常のフォルダーとしてPythonから共有にアクセスします(私の考えでは、これはかなり厄介なソリューションです)
  2. pysmbのような特に smb を扱うライブラリを使用し(ここに関連するドキュメント セクションがあります)、その助けを借りてファイル操作を行います。

これが役立つことを願っています。

于 2013-08-10T14:00:09.773 に答える