0

Java クラスを介して呼び出される次の python スクリプトがあります。ローカル ファイル名 ('D:\temp\Test.pdf') では問題なく動作しますが、ファイル名が \serverA\f$\dir\Test.pdf の場合は常に false を返します。Tomcat サーバー (管理者権限あり) で実行されており、serverA ドライブ f が tomcat サーバー マシンにマウントされています。私が見逃している可能性のあるものについてのアイデアはありますか?

def checkFileExists(filename):

        vFile = File(filename)
        if (vFile == None):
            return False
        return vFile.exists()
4

1 に答える 1

0

したがって、質問へのコメントで説明されているように、Python で Windows 共有にアクセスするのは少し難しいです。したがって、ファイルがリモートの場所に存在するかどうかを確認するハックな方法は、Python では認識されないが、Windows のツールでは認識されるため、これらのツールを呼び出してその出力を解析することになります。

例えば:

import subprocess

def file_exists(path):        
    res = subprocess.check_output(['IF', 'EXIST', path, 'ECHO', "1"])
    return res.strip() == '1'

使用法:

path = r'\\serverA\f$\dir\Test.pdf'
print(file_exists(path))
于 2013-02-28T13:17:29.037 に答える