I o operation on closed file python ошибка

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)

Here, p is a dictionary, w and c both are strings.

When I try to write to the file it reports the error:

ValueError: I/O operation on closed file.

Boris Verkhovskiy's user avatar

asked Sep 23, 2013 at 6:08

GobSmack's user avatar

Indent correctly; your for statement should be inside the with block:

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)

Outside the with block, the file is closed.

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

Boris Verkhovskiy's user avatar

answered Sep 23, 2013 at 6:09

falsetru's user avatar

falsetrufalsetru

358k63 gold badges733 silver badges637 bronze badges

0

Same error can raise by mixing: tabs + spaces.

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

answered Mar 26, 2018 at 21:43

Slake's user avatar

SlakeSlake

2,0803 gold badges25 silver badges32 bronze badges

1

I also have the same problem.
Here is my previous code

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() 

Apparently, I shoud write the usersWriter instead of NodeWriter.

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

Below is my current code and it is working

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() 

answered Jun 24, 2022 at 3:19

May's user avatar

1

file = open("filename.txt", newline='')
for row in self.data:
    print(row)

Save data to a variable(file), so you need a with.

answered Dec 14, 2020 at 8:27

Yi Rong Wu's user avatar

I had this problem when I was using an undefined variable inside the with open(...) as f:.
I removed (or I defined outside) the undefined variable and the problem disappeared.

answered Feb 26, 2021 at 16:27

Luca Urbinati's user avatar

Another possible cause is the case when, after a round of copypasta, you end up reading two files and assign the same name to the two file handles, like the below. Note the nested with open statement.

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!!

The fix would then be to assign different variable names to the two file handles, e.g. f1 and f2 instead of both f.

answered Jan 9, 2022 at 20:59

Anis R.'s user avatar

Anis R.Anis R.

6,6862 gold badges15 silver badges37 bronze badges

I ran into a similar problem after using auto-py-to-exe to compile my program.

I used with open(link, "rb") as f: but switching to PdfReader method fixed it.

Just wanted to share in case someone else faces this.

# it diesn't work --> ValueError: I/O operation on closed file.
     for link in links:
                if os.path.isfile(link):
                    with open(link, "rb") as f:
                    pdf_reader = PyPDF2.PdfReader(f)
            pdf_exporter.write("C:\\Temp\\test.pdf")
            os.startfile("C:\\Temp\\test.pdf")

# it does
     for link in links:
                if os.path.isfile(link):
                    # with open(link, "rb") as f:
                    # pdf_reader = PyPDF2.PdfReader(f)
                    pdf_reader = PyPDF2.PdfReader(link)
            pdf_exporter.write("C:\\Temp\\test.pdf")
            os.startfile("C:\\Temp\\test.pdf")

answered Aug 29 at 15:56

Shukhrat Sobich's user avatar

Table of Contents
Hide
  1. ValueError: I/O operation on closed file
    1. Scenario 1 – Improper Indentation
    2. Scenario 2 – Accessing the closed file
    3. Scenario 3 – Closing the file inside a for loop
  2. Conclusion

The i/o operations in Python are performed when the file is in an open state. So if we are trying to read or write into a file that is already closed state Python interpreter will raise the ValueError: I/O operation on closed file.

In this article, we will look at what is ValueError: I/O operation on closed file and how to resolve this error with examples.

The best practice during file operations is to close the file as soon as we perform the operations with the file. It helps to free the resources such as memory and computing and also helps improve the overall performance. Once the file is closed, you can no longer access the file and perform read/write operations on that file.

There are three main common reasons why we face the ValueError: I/O operation on closed file.

  • First, when you try, forget to indent the code in the with statement.
  • Second, when you try to read/write to a file in a closed state.
  • Third, when you close the file inside a for loop, accidentally

Let us look at an example where we can reproduce the issue.

Scenario 1 – Improper Indentation

We have a simple code to read the CSV file, which consists of employee data. First, we have imported the CSV library, and then we used a with statement to open the CSV file in a read mode,

Once the file is opened, we call the method csv.reader() to read the file contents and assign the contents into the read_csv variable.

Later, using the for loop, we iterated the file contents and printed each file row.

Let us run this code and see what happens.

import csv

# Open the file in read mode
with open("employee.csv", "r") as employees:
    read_csv = csv.reader(employees)

# iterate and print the rows of csv
for row in read_csv:
    print("Rows: ", row)
Traceback (most recent call last):
  File "c:\Personal\IJS\Code\prgm.py", line 8, in <module>
    for row in read_csv:
ValueError: I/O operation on closed file.

Solution

The above code has returned ValueError because we tried to iterate the read_csv outside the with statement. The with statement acts as a file context, and once it’s executed, it will automatically close the file. Hence any file operation outside the with statement will lead to this error.

We can resolve the code by properly indenting our code and placing it inside the with statement context. But, first, let us look at the revised code.

import csv

# Open the file in read mode
with open("employee.csv", "r") as employees:
    read_csv = csv.reader(employees)

    # iterate and print the rows of csv
    for row in read_csv:
        print("Rows: ", row)

Output

Rows:  ['EmpID', 'Name', 'Age']
Rows:  ['1', 'Chandler Bing', ' 22']
Rows:  ['2', 'Jack', '21']
Rows:  ['3', 'Monica', '33']

Scenario 2 – Accessing the closed file

It is the most common and best practice to use with statements for accessing the files. We can also access the file without using the with statement by just using the open() method as shown below.

Once the file is open, using the csv.reader() method we have read the contents of the file and assigned it to a variable read_csv.

Then, we closed the file as the contents are read and stored to a variable. Next, we iterate the read_csv variable using a for loop and print each row of the CSV file.

Let us execute the code and see what happens.

import csv

# open file in read mode
employees = open("employee.csv", "r")
read_csv = csv.reader(employees)
employees.close()

# iterate and print the eac row
for row in read_csv:
    print("Rows: ", row)

Output

Traceback (most recent call last):
  File "c:\Personal\IJS\Code\prgm.py", line 9, in <module>
    for row in read_csv:
ValueError: I/O operation 

Solution

The fix here is straightforward; we need to ensure that the file is closed after the for loop. The read_csv file holds a reference of the file object, and if we close the file, it will not be able to access the file and perform any I/O operations.

Let us fix the issue and execute the code.

import csv

# open file in read mode
employees = open("employee.csv", "r")
read_csv = csv.reader(employees)

# iterate and print the eac row
for row in read_csv:
    print("Rows: ", row)

# close the file after iteraating and printing
employees.close()

Output

Rows:  ['EmpID', 'Name', 'Age']
Rows:  ['1', 'Chandler Bing', ' 22']
Rows:  ['2', 'Jack', '21']
Rows:  ['3', 'Monica', '33']

Scenario 3 – Closing the file inside a for loop

There could be another scenario where we do not correctly indent the code, which can lead to this issue.

For example, in the below code, we are opening the file and reading the file contents using csv.reader() method.

Next, using the for loop, we are iterating the CSV rows and printing each row. We have placed the file close() method inside the for loop accidentally, which will lead to an issue.

The loop executes and prints the first record successfully, and after that, it will close the file, and it won’t be able to access any other rows in the CSV.

import csv

# open file in read mode
employees = open("employee.csv", "r")
read_csv = csv.reader(employees)

# iterate and print the eac row
for row in read_csv:
    print("Rows: ", row)
    employees.close()

Output

Rows:  ['EmpID', 'Name', 'Age']
Traceback (most recent call last):
  File "c:\Personal\IJS\Code\prgm.py", line 8, in <module>
    for row in read_csv:
ValueError: I/O operation on closed file.

Solution

We can resolve the issue by placing the close() statement outside the for loop. This will ensure that file contents are iterated and printed correctly, and after that, the file is closed.

Let us revise our code and execute it.

import csv

# open file in read mode
employees = open("employee.csv", "r")
read_csv = csv.reader(employees)

# iterate and print the eac row
for row in read_csv:
    print("Rows: ", row)

employees.close()

Output

Rows:  ['EmpID', 'Name', 'Age']
Rows:  ['1', 'Chandler Bing', ' 22']
Rows:  ['2', 'Jack', '21']
Rows:  ['3', 'Monica', '33']

Conclusion

The ValueError: I/O operation on closed file occurs if we are trying to perform the read or write operations on the file when it’s already in a closed state.

We can resolve the error by ensuring that read and write operations are performed when the file is open. If we use the with statement to open the file, we must ensure the code is indented correctly. Once the with statement is executed, the file is closed automatically. Hence any I/O operation performed outside the with statement will lead to a ValueError.

If you try to access a closed file, you will raise the ValueError: I/O operation on closed file. I/O means Input/Output and refers to the read and write operations in Python.

To solve this error, ensure you put all writing operations before closing the file.

This tutorial will go through how to solve this error with code examples.


Table of contents

  • ValueError: I/O operation on closed file
    • Why Close Files in Python?
  • Example #1: Accessing a Closed File
    • Solution
  • Example #2: Placing Writing Outside of with Statment
    • Solution
  • Example #3: Closing the File Within a for loop
    • Solution
  • Summary

ValueError: I/O operation on closed file

In Python, a value is information stored within a particular object. You will encounter a ValueError in Python when you use a built-in operation or function that receives an argument with the right type but an inappropriate value.

A file is suitable for I/O operations, but a closed file is not suitable for I/O operations.

Why Close Files in Python?

  • File operations is a resource in programming. If you have multiple files open, you are using more resources, which will impact performance.
  • If you are making editions to files, they often do not go into effect until after the file is closed.
  • Windows treats open files as locked; you will not be able to access an open file with another Python script.

Let’s look at examples of the ValueError occurring in code and solve it.

Example #1: Accessing a Closed File

Consider the following CSV file called particles.csv that contains the name, charge and mass of three particles:

electron,-1, 0.511
muon,-1,105.7
tau,-1,1776.9

Next, we will write a program that will read the information from the CSV file and print it to the console. We will import the csv library to read the CSV file. Let’s look at the code:

import csv

particles = open("particles.csv", "r")

read_file = csv.reader(particles)

particles.close()

for p in read_file:

    print(f'Particle: {p[0]}, Charge: {p[1]}, Mass: {p[2]} MeV')

We create a TextIOWrapper object called particles. This object is a buffered text stream containing the file’s text. We then access each line in particles using a for loop. Let’s run the code to see what happens:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
      7 particles.close()
      8 
----≻ 9 for p in read_file:
     10 
     11     print(f'Particle: {p[0]}, Charge: {p[1]}, Mass: {p[2]} MeV')

ValueError: I/O operation on closed file.

The error occurs because we close the file before we iterate over it.

Solution

To solve this error, we need to place the close() after the for loop. Let’s look at the revised code:

import csv

particles = open("particles.csv", "r")

read_file = csv.reader(particles)

for p in read_file:

    print(f'Particle: {p[0]}, Charge: {p[1]}, Mass: {p[2]} MeV')

particles.close()
Particle: electron, Charge: -1, Mass:  0.511 MeV
Particle: muon, Charge: -1, Mass: 105.7 MeV
Particle: tau, Charge: -1, Mass: 1776.9 MeV

The code successfully prints the particle information to the console.

Example #2: Placing Writing Outside of with Statment

The best practice to open a file is to use a with keyword. This pattern is also known as a context manager, which facilitates the proper handling of resources. Let’s look at an example of using the with keyword to open our particles.csv file:

import csv

with open("particles.csv", "r") as particles:

    read_file = csv.reader(particles)

for p in read_file:

    print(f'Particle: {p[0]}, Charge: {p[1]}, Mass: {p[2]} MeV')

Let’s run the code to see what happens:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
      5     read_file = csv.reader(particles)
      6 
----≻ 7 for p in read_file:
      8 
      9     print(f'Particle: {p[0]}, Charge: {p[1]}, Mass: {p[2]} MeV')

ValueError: I/O operation on closed file.

The error occurs because the loop over the file is outside of the with open() statement. Once we place code outside of with statement code block, the file closes. Therefore the for loop is over a closed file.

Solution

We need to place the for loop within the with statement to solve this error. Let’s look at the revised code:

import csv

with open("particles.csv", "r") as particles:

    read_file = csv.reader(particles)

    for p in read_file:

        print(f'Particle: {p[0]}, Charge: {p[1]}, Mass: {p[2]} MeV')


Let’s run the code to see the result:

Particle: electron, Charge: -1, Mass:  0.511 MeV
Particle: muon, Charge: -1, Mass: 105.7 MeV
Particle: tau, Charge: -1, Mass: 1776.9 MeV

The code successfully prints the particle information to the console. For further reading on ensuring correct indentation in Python, go to the article: How to Solve Python IndentationError: unindent does not match any outer indentation level.

Example #3: Closing the File Within a for loop

Let’s look at an example where we open the file and print the file’s contents, but we put a close() statement in the for loop.

import csv

particles = open("particles.csv", "r")

read_file = csv.reader(particles)

for p in read_file:

    print(f'Particle: {p[0]}, Charge: {p[1]}, Mass: {p[2]} MeV')

    particles.close()

Let’s run the code to see what happens:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
      5 read_file = csv.reader(particles)
      6 
----≻ 7 for p in read_file:
      8 
      9     print(f'Particle: {p[0]}, Charge: {p[1]}, Mass: {p[2]} MeV')

ValueError: I/O operation on closed file.

The error occurs because we close the file before iterating over every line in the file. The first iteration closes the file.

Solution

To solve this error, we need to place the close() statement outside of the for loop. Let’s run the code to get the result:

import csv

particles = open("particles.csv", "r")

read_file = csv.reader(particles)

for p in read_file:

    print(f'Particle: {p[0]}, Charge: {p[1]}, Mass: {p[2]} MeV')

particles.close()

Let’s run the code to see the result:

Particle: electron, Charge: -1, Mass:  0.511 MeV
Particle: muon, Charge: -1, Mass: 105.7 MeV
Particle: tau, Charge: -1, Mass: 1776.9 MeV

The code successfully prints the particle information to the console.

Summary

Congratulations on reading to the end of this tutorial! The error ValueError: I/O operation on a closed file occurs when you try to access a closed file during an I/O operation. To solve this error, ensure that you indent the code that follows if you are using the with statement. Also, only close the file after you have completed all iterations in a for loop by placing the filename.close() outside of the loop.

For further reading on ValueErrors, go to the article: How to Solve Python ValueError: could not convert string to float.

For further reading on errors involving reading or writing to files in Python, go to the article: How to Solve Python AttributeError: ‘str’ object has no attribute ‘write’

To learn more about Python for data science and machine learning, go to the online courses page on Python for the most comprehensive courses available.

Have fun and happy researching!

So, you have encountered the exception/error, i.e., ValueError: I/O operation on closed file. In the following article, we will discuss value errors, how they occur and how to resolve them. You can also check out our other articles on ValueError here.

What is a ValueError & why it occurs?

The ValueError occurs when an argument is passed to the function that is of the correct type; however, an incorrect argument for the function. This may sound a little confusing. Let’s try to understand it using some examples.

Example 1:

print(int(22/7))
print(int("let's convert it to an integer"))

ValueError example

ValueError Example 1

In the above example, converting a floating-point value returns an integer. However, trying the same thing on a string returns a ValueError.

Example 2:

import math

number = int(input("Enter number:"))
print(f"The square root of {number} is {math.sqrt(number)}.")

ValueError: I/O operation on closed file Example 2

ValueError Example 2

In the above example, getting a square root of a negative number returns a value error. This is because the sqrt function expects an integer value, not a negative(or a floating-point value).

The examples above must have cleared the concept of ValueError.

ValueError: I/O operation on closed file can occur in the following two cases. Let’s look at them one by one.

Case 1:

When you try to read or write a file when it has been closed. To elaborate, when you open a file through context manager, perform read or write operations, and close it. However, if you try reading or writing on that file, it will throw a value error.

For instance, let’s look at an example.

with open('test.txt','w') as file:
	file.write("This is the first line.\n")
	file.write("This is second one.\n")
	file.close()
    file.write("This is the last line.")

In the code above, we try to open a file named test.txt, then perform some write operations on it and close the file. However, when we try to write another statement into it, ValueError gets thrown. This is a case of accessing a closed file.

ValueError threw when trying to modify a closed file

ValueError threw when trying to modify a closed file

Case 2:

with open('test.txt','w') as file:
	file.write("This is the first line.\n")
	file.write("This is second one.\n")
	
file.write("This is the last line.")
file.close()

In the code above, we try to open a file named test.txt then perform some write operations on it. However, the write function is used outside the with block. This is a case of incorrect indentation, and hence the ValueError is thrown.

ValueError: I/O operation on closed file threw when the lines aren't indented

ValueError throws when the lines aren’t indented.

Solution

For the first case, close the opened file only when you have finished all the operations. This will prevent the error raised.

with open('test.txt','w') as file:
	file.write("This is the first line.\n")
	file.write("This is second one.\n")
    file.write("This is the last line.")
	file.close()

While for the second case, you will need to indent your code under the with block to resolve the ValueError.

with open('test.txt','w') as file:
    file.write("This is the first line.\n")
    file.write("This is second one.\n")
    file.write("This is the last line.")
file.close()

ValueError I/O operation on closed file CSV

grades.csv

grades.csv

For this example, we have taken grades.csv separated by ‘, ‘. Let’s print the names and grades of students. We have removed some lines for ease of understanding.

import csv

with open('grades.csv','r') as file:
	csv_reader = csv.reader(file,delimiter=',')
    next(csv_reader,None)
for row in csv_reader:
	name = row[1].strip().strip('"') + ' ' + row[0]
	grade = row[-1].strip().strip('"')
	print(f'Name: {name}, Grade: {grade}')

ValueError threw for csv

ValueError threw for csv
  • In the above code, we have opened the file and saved the reader object returned by csv.reader to csv_reader and also skipped the header of the csv using next function.
  • Now if we try to iterate over the reader object an error gets thrown as the file has been closed by python automatically(on using with statement).
  • To avoid this, the for loop is needed to be within with statement scope. This is to ensure that for loop has executed before the file being closed.
with open('grades.csv','r') as file:
	csv_reader = csv.reader(file,delimiter=',')
	print(type(csv_reader))
	next(csv_reader,None)
	for row in csv_reader:
		name = row[1].strip().strip('"') + ' ' + row[0]
		grade = row[-1].strip().strip('"')
		print(f'Name: {name}, Grade: {grade}')

Names and grades of students returned.

Names and grades of students returned.

Django gives an “I/O operation on closed file” error when reading from a saved ImageField

If you have a simple model with an ImageField, the following code will return an error “I/O operation on closed file”.

instance = MyClass.objects.get(...) 
w = instance.image.width 
h = instance.image.height original = Image.open(instance.image)

Try reopening the file to avoid this error. For instance:

instance = MyClass.objects.get(...) w = instance.image.width h = instance.image.height instance.image.open() original = Image.open(instance.image)

ValueError i/o operation on closed file, BytesIO

BytesIO is used for manipulating bytes data in memory and is part of the io module. ValueError might creep in if the indentation is wrong or operations are being performed on a closed file.

import io

with io.BytesIO() as f:
    f.write(b"This is the first line")
    f.write(b"This is the second line")
# operation outside the with statement
f.write(b"This is the third line")

ValueError i/o operation on closed file in BytesIO

ValueError i/o operation on closed file in BytesIO

To resolve the error, indent the code or open the file again.

FAQs on ValueError: I/O operation on closed file

Can I read/write on a closed file in python?

No, you can’t read and write on a closed file. If you try to do so, it will raise a ValueError. You can only perform read and write operations when the file is opened.

openpyxl: ValueError: I/O operation on closed file

A quick fix is to downgrade to a version openpyxl==2.5.11 where this issue isn’t present.

ValueError: I/O operation on closed file. Python, Django, Boto3

This error occurs only when you try to do some operations on a closed file. Try checking for indentation of your code or whether the file is opened or not.

Conclusion

In this article, we tried to shed some light on the standard value error for beginners, i.e., ‘I/O operation on closed files’. We also understood why it happens, when it can occur, and its solutions.

Other Errors You Might Encounter

  • [Solved] typeerror: unsupported format string passed to list.__format__

    [Solved] typeerror: unsupported format string passed to list.__format__

    May 31, 2023

  • Solving ‘Remote End Closed Connection’ in Python!

    Solving ‘Remote End Closed Connection’ in Python!

    by Namrata GulatiMay 31, 2023

  • [Fixed] io.unsupportedoperation: not Writable in Python

    [Fixed] io.unsupportedoperation: not Writable in Python

    by Namrata GulatiMay 31, 2023

  • [Fixing] Invalid ISOformat Strings in Python!

    [Fixing] Invalid ISOformat Strings in Python!

    by Namrata GulatiMay 31, 2023

Коротко: необходимо открыть картинку и этой картинкой заменить прошлую:

with open('avatar/' + f'{idfot1}', 'rb') as file:
    cat = types.InputMediaPhoto(file)
await bot.edit_message_media(chat_id=call.from_user.id, message_id=call.message.message_id, media=cat)

Но вылазиет ошибка — ValueError: I/O operation on closed file

Ошибка:

ERROR:asyncio:Task exception was never retrieved
future: exception=ValueError(‘I/O operation on closed file’)>
Traceback (most recent call last):
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py», line 415, in _process_polling_updates
for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py», line 235, in process_updates
return await asyncio.gather(*tasks)
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\handler.py», line 116, in notify
response = await handler_obj.handler(*args, **partial_data)
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py», line 283, in process_update
return await self.callback_query_handlers.notify(update.callback_query)
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\handler.py», line 116, in notify
response = await handler_obj.handler(*args, **partial_data)
File «C:\Users\User\Desktop\testsearchanon\main.py», line 871, in oz1
await bot.edit_message_media(chat_id=call.from_user.id, message_id=call.message.message_id, media=cat)
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\bot\bot.py», line 2743, in edit_message_media
result = await self.request(api.Methods.EDIT_MESSAGE_MEDIA, payload, files)
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\bot\base.py», line 231, in request
return await api.make_request(await self.get_session(), self.server, self.__token, method, data, files,
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\bot\api.py», line 139, in make_request
async with session.post(url, data=req, **kwargs) as response:
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\client.py», line 1138, in __aenter__
self._resp = await self._coro
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\client.py», line 507, in _request
req = self._request_class(
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\client_reqrep.py», line 313, in __init__
self.update_body_from_data(data)
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\client_reqrep.py», line 507, in update_body_from_data
body = body()
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\formdata.py», line 170, in __call__
return self._gen_form_data()
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\formdata.py», line 163, in _gen_form_data
self._writer.append_payload(part)
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\multipart.py», line 831, in append_payload
size = payload.size
File «C:\Users\User\AppData\Local\Programs\Python\Python310\lib\site-packages\aiohttp\payload.py», line 379, in size
return os.fstat(self._value.fileno()).st_size — self._value.tell()
ValueError: I/O operation on closed file

Понравилась статья? Поделить с друзьями:
  • Hwtransport exe ошибка приложения
  • I must having a bath исправьте ошибки
  • Hwinfo64 ошибки памяти видеокарты
  • I like when it snows где ошибка
  • Hwasung thermo коды ошибок