デスクトップの背景を変更するプログラムを書いています。これは、テキスト ファイルを読み取ることによって行われます。テキスト ファイルに BG ファイル名の 1 つが示されている場合、その 1 つを背景として保存し、もう 1 つの名前をファイルに書き込んで閉じます。
私はそれを機能させることができないようです。
これが私のコードです:
import sys, os, ctypes
BGfile = open('C:\BG\BG.txt', 'r+' )
BGread = BGfile.read()
x=0
if BGread == 'mod_bg.bmp':
x = 'BGMATRIX.bmp'
BGfile.write('BGMATRIX.bmp')
BGfile.close()
elif BGread == 'BGMATRIX.bmp':
x = 'mod_bg.bmp'
BGfile.write('mod_bg.bmp')
BGfile.close()
pathToImg = x
SPI_SETDESKWALLPAPER = 20
ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, pathToImg, 0)
使用する"r+"
と、次のエラーが表示されます。
Traceback (most recent call last):
File "C:\BG\BG Switch.py", line 13, in <module>
BGfile.write('mod_bg.bmp')
IOError: [Errno 0] Error
これはまったく役に立ちません!
使用する"w+"
と、ファイルに既にあるものを消去するだけです。
この奇妙なエラーが発生する理由と、それを修正する方法を誰か教えてもらえますか?