これは単純な問題のように思えますが、私はそれを理解するのに苦労しています。
リモートサーバーに共有フォルダーを設定して、フォルダーがWindowsエクスプローラーに次のように表示されるようにしました:\\ server-name\shared-directory。そのフォルダーからリモートで読み取り、Windowsエクスプローラーを介してそのフォルダーにリモートで書き込むことができます。しかし、Pythonスクリプトを介してそのファイルにアクセスしようとすると、ディレクトリが存在しないと表示されます。
サーバーに対する管理者権限があり、共有ドライブへのアクセス権を自分に与えました(Windowsエクスプローラーを介してファイルをコピーすることでこれを確認しました)。
Pythonでは、次のようにドライブにアクセスしています(ただし、いくつかの異なる方法を試しましたが、成功しませんでした)。
os.access('\\\\server-name\\path-to-shared-directory', os.W_OK)
私が間違っているかもしれないことについて何か提案はありますか?
編集:
質問に答えて、私は実際にスクリプトを使用してファイルをコピーしようとしています。os.accessは、ディレクトリに書き込みアクセス権があるかどうかを確認するために使用されました。私が使用しているコピーコードは次のとおりです。
def copy_folder(src, dest):
if not os.access(dest, os.W_OK):
return(False)
cmd = ['xcopy', '/E', '/J', '/Y', '/I', src, dest]
p = subprocess.Popen(args=cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
out, err = p.communicate()
print 'out: %s' % out
print 'err: %s' % err
return(True)
copy_folder(my_source_directory, '\\\\server-name\\path-to-shared-directory')
これにより、「無効なドライブ仕様」がエラーとして返されます。