2016-05-04 25 views
0

共有フォルダ//123.456.7.890/Data/にある特定のファイルfake-file.txtが存在するかどうかを確認したい場合は、削除して新しいファイルreal-file.txtを書きます。私はないこのタスクのためparamikoモジュールを使用すると、それは次のようにWindowsマシン上で作業してしまったんファイルが存在するかどうかチェックし、paramikoなし共有上のpythonで削除します

filename = '//123.456.7.890/Data/fake-file.txt' 
if os.exists(filename): 
    os.remove(filename) 
    #and so on 

しかし、この方法では、UNIXベースのマシン(この場合はCentOSの)上では動作しません。ファイルに存在しないIOErrorが発生します。私はUNIXベースのマシンにはあまり慣れていないので、おそらくリファレンスに間違っているものがあります。この問題を解決するにはどうすればよいですか?何かが不明な場合は、私に教えてください!

PS。フォルダはパスワードで保護されており、私は端末からそれにsshすることができます

+1

なぜparamikoを使いたくないのですか?あなたはsshを使ってファイルにアクセスすると言ったので、paramikoの仕事のように見えます。また、 'subprocess'を使ってrawコマンドを実行することもできます... – Cyrbil

答えて

1

これは本当にPythonの質問ではありません。 Linux上では、リモートのファイルシステムにローカルの空のディレクトリ(これには権限がない場合があります)にマウントし、そのディレクトリ(マウントポイント)にアクセスしてアクセスします。

$ mkdir ./1234567890 
$ mount -t cifs //123.456.7.890/Data -o username=username,password=password ./1234567890 

のようなもの、これが成功した場合、あなたはPythonプログラム内で使用して、Linuxのファイル名は./1234567890/fake-file.txtになります。

一部のLinuxシステムでは自動マウントシステムを使用しているため、特定のファイルストア参照が自動的にマウントされます。これがローカルに実装されているかどうか、どのように実装されているかを確認するには、ローカルのシステム管理者に相談する必要があります。

PS 123.456.7.890は有効なIPアドレスではありませんが、実際に使用していた実際の有効なIPアドレスを隠すことを選択したと仮定しています。 123.45.67.89は、「ランダム」IPアドレス、または192.168.22.33(ランダムプライベートIP)に適しています。

関連する問題