2017-07-17 7 views
0

なぜ、私はバッチファイルを実行するPythonスクリプトでエラーが発生しているのですが、IDLEを実行するとエラーは発生しません。これは、この行に失敗し続けて:私はIDLEで自分自身によってちょうどこれらの行を実行する場合、彼らは問題なく、最新のPNGを返すIDLEでないコマンドプロンプトでMax()エラーが発生する

Traceback (most recent call last): 
    File "C:\Users\A\Documents\PYTHON\Data.py", line 460, in <module> 
     latest_png = max(png_files, key = os.path.getctime) 
ValueError: max() arg is an empty sequence 

png_files = glob.glob("X:\\Projects\\Integration\\PNGs\\*.png") 
latest_png = max(png_files, key = os.path.getctime) 

にその結果を。しかし、スクリプトでは一貫して失敗していますが、のみバッチファイルで実行されます。

+0

IDLEを管理者として実行していますか? –

+0

いいえ、いいえ。ただし、バッチファイルは管理者として実行されます。 –

+0

UACを有効にすると、システムは2つのトークン、限定されたトークン、および昇格したプロセスを作成するためにサービスが使用できる昇格したトークンを持つ管理者アカウントにログオンします。各トークンには独自のログオンセッションとセキュリティコンテキストがありますので、当然各自のDOSデバイスマッピングのセットがあります。したがって、制限されたトークンのコンテキストでエクスプローラによって作成されたマップされたネットワークドライブ "X:"は、少なくとも既定では、昇格したプロセスからは見えません。 – eryksun

答えて

1

png_filesには要素がありません。あなたのグロブコールがそのディレクトリを見る権限を持っていること、そのディレクトリにファイルがあり、そのディレクトリが存在することを確認してください。

+0

これをチェックして、これをダブルチェックしました。私はその場所に完全にアクセスできる。バッチファイルも管理者として実行されているので、問題は発生しません。実際、私は同じ場所をチェックするスクリプトを重複していますし、正常に動作します。唯一の違いは、このスクリプトでは、見つけたPNGをウェブサイトにアップロードすることです。 –

+0

@ATCH_torn 'print(png_files)'の結果は何ですか? –

+0

そこには100以上のファイルがありますので、私は 'print(png_files [:2])'を実行しましたが、私が得た結果は '' X:\ Projects \\ Integration \\ PNGs \\ 07102017 06.png ' 'X:\\ Projects \\ Integration \\ PNGs \\ 07112017 02.png'] ' –

関連する問題