programing

ValueError : 닫힌 파일의 I/O 작업

muds 2023. 7. 20. 22:11
반응형

ValueError : 닫힌 파일의 I/O 작업

import csv    

with open('v.csv', 'w') as csvfile:
    cwriter = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)

for w, c in p.items():
    cwriter.writerow(w + c)

여기서,p사전입니다.w그리고.c둘 다 문자열입니다.

파일에 쓰려고 하면 다음 오류가 보고됩니다.

ValueError: I/O operation on closed file.

올바르게 들여쓰기; 사용자for문은 블록 내부에 있어야 합니다.

import csv    

with open('v.csv', 'w') as csvfile:
    cwriter = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)

    for w, c in p.items():
        cwriter.writerow(w + c)

외부with차단합니다. 파일이 닫혔습니다.

>>> with open('/tmp/1', 'w') as f:
...     print(f.closed)
... 
False
>>> print(f.closed)
True

탭 + 공백을 함께 사용해도 동일한 오류가 발생할 수 있습니다.

with open('/foo', 'w') as f:
 (spaces OR  tab) print f       <-- success
 (spaces AND tab) print f       <-- fail

저도 같은 문제를 가지고 있습니다.이전 코드입니다.

csvUsers = open('/content/gdrive/MyDrive/Ada/Users.csv', 'a', newline='', encoding='utf8')
usersWriter = csv.writer(csvUsers)
for t in users:
    NodeWriter=.writerow(users)
csvUsers.close() 

분명히, 나는 NodeWriter 대신 usersWriter를 써야 합니다.

NodeWriter=.writerow(users)
usersWriter=.writerow(users)

아래는 제 현재 코드이며 작동 중입니다.

csvUsers = open('/content/gdrive/MyDrive/Ada/Users.csv', 'a', newline='', encoding='utf8')
usersWriter = csv.writer(csvUsers)
for t in users:
    usersWriter=.writerow(users)
csvUsers.close() 
file = open("filename.txt", newline='')
for row in self.data:
    print(row)

변수에 데이터 저장(file), 그래서 당신은 필요합니다.with.

내부에서 정의되지 않은 변수를 사용할 때 이 문제가 발생했습니다.with open(...) as f:정의되지 않은 변수를 제거(또는 외부에서 정의)했더니 문제가 사라졌습니다.

또 다른 가능한 원인은 복사 파스타를 한 번 한 후 두 개의 파일을 읽고 아래와 같이 두 개의 파일 핸들에 동일한 이름을 할당하는 경우입니다.중첩됨을 기록합니다.with open진술.

with open(file1, "a+") as f:
    # something...
    with open(file2, "a+", f):
        # now file2's handle is called f!

    # attempting to write to file1
    f.write("blah") # error!!

그런 다음 두 개의 파일 핸들에 서로 다른 변수 이름을 할당합니다.f1그리고.f2둘 다 대신에f.

언급URL : https://stackoverflow.com/questions/18952716/valueerror-i-o-operation-on-closed-file

반응형