1

これは私のコードのスニペットです:

def set_background(image):
    ctypes.windll.user32.SystemParametersInfoW(20, 0, image , 0)

def set_wall(message):
    img = Image.new('RGB', auto.size(), color = (66, 70, 82))
    fnt = ImageFont.truetype('C:\\Windows\\Fonts\\consolab.ttf', 40)
    d = ImageDraw.Draw(img)
    d.text((250, 330), message, font=fnt, fill=(171, 220, 255))
    wall_path = 'E:\\pranil\\python\\jee_wallpaper.png'
    img.save(wall_path)
    set_background(wall_path)

while True:
    if datetime.today().second == 0:
        message = calculate_rem_time()  
        set_wall(message)

私が得ているエラーは次のとおりです。

OSError: [Errno 22] 無効な引数: 'E:\pranil\python\jee_wallpaper.png'

このエラーを解決するにはどうすればよいですか?

編集:私は問題を解決しました..私は img.save(wall_path) と set_background(wall_path) の間に time.sleep(1) を追加しました

4

2 に答える 2

0

OSErrors は通常、システム関連のエラー (ファイルが見つからない、ディスクがいっぱいなど) が原因で発生します。あなたの場合、ファイルパスが間違っているようです。ファイルを右クリックし、[プロパティ] を選択して、画像ファイルのファイル パスをコピー アンド ペーストしてみてください。Location: C:... にリストされているファイル パスをコピーして貼り付けます。

https://docs.python.org/3/library/exceptions.html

https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats

于 2020-09-20T21:07:06.510 に答える