1

このプログラムを実行して画面のスナップショットを取得して保存しましたが、エラーメッセージが表示されます

import os
import sys
import time
import Image
import ImageGrab

SaveDirectory=r'C:\Documents and Settings\User\My Documents\My Pictures'
ImageEditorPath=r'C:\WINDOWS\system32\mspaint.exe'
img=ImageGrab.grab()
saveas=os.path.join(SaveDirectory,'ScreenShot_'+time.strftime('%Y_%m_%d%_%H_%M_%S')+'.png')
img.save(saveas)
editorstring='""%s" "%s"'% (ImageEditorPath,saveas) 
os.system(editorstring)

これはエラーメッセージです:

Traceback (most recent call last):
  File "C:/Python27/butt", line 10, in <module>
    saveas=os.path.join(SaveDirectory,'ScreenShot_'+time.strftime('%Y_%m_%d%_%H_%M_%S')+'.png')
ValueError: Invalid format string
4

2 に答える 2

2

問題は、%_フォーマット文字列にありますstrftime-有効な値ではありません。フォーマット文字列を次のように置き換えれば問題ありません。

'%Y_%m_%d_%H_%M_%S'

発生したエラー ( ValueError: Invalid format string) がフォーマット文字列を参照しており、10 行目の唯一のフォーマット文字列がこれであるため、フォーマット文字列に問題があることがわかります。ドキュメントをチェックして、どの文字が有効なエンティティになるかを確認できます。 %_はそれらの 1 つではなく、単なるタイプミスだったと推測しています。

于 2013-04-15T23:50:29.040 に答える
1

時間について何かが欠けています:

str_time = time.strftime(your_real_date,'%Y_%m_%d_%H_%M_%S')
saveas=os.path.join(SaveDirectory,'ScreenShot_'+ str_time +'.png')

毎回、Python Docs: 8.1.7 を少し確認します。文字列/日付変換の使用を保証するstrftime() および strptime() 動作

于 2013-04-15T23:51:12.170 に答える