/ / issue with buffer interface pri pokuse o zápis do súboru - python

problém s rozhraním vyrovnávacej pamäte pri pokuse o zápis do súboru - python

TypeError: "str" ​​nepodporuje rozhranie vyrovnávacej pamäte

import os,stat

fd = os.open("foo.txt",os.O_RDWR|os.O_CREAT)
os.write(fd,"This is Test")
os.closerange(fd,fd)
print("Closed all the files successfully")

odpovede:

0 pre odpoveď č. 1

Musíte písať bajtov, nie reťazce Unicode:

os.write(fd, b"This is Test")

Na b"..." je a bytes typ literál. Môžete tiež kódovať a str typ pomocou str.encode() metóda:

os.write(fd, "This is Test".encode("ascii"))

Všeobecne povedané, chcete používať io knižnica namiesto použitia os.open() a nízkoúrovňový prístup k súborom. Toto sa dá ľahko vykonať pomocou open() funkcie.