Python Cannot Find File Specified

I am trying to rename a file, but python cannot find the file specified.

I have a file located here:

C:\Users\my_username\Desktop\selenium_downloads\close_of_day_reports\close-of-day-2022-04-24-2022-04-23.pdf

I am trying to rename the file to test.pdf

Here is the code I am using:

import os

os.rename(
     src = "C:\\Users\\my_username\\Desktop\\selenium_downloads\\close_of_day_reports\\close-of-day-2022-04-24-2022-04-23.pdf",
     dst = "C:\\Users\\my_username\\Desktop\\selenium_downloads\\close_of_day_reports\\test.pdf"

)

The error message I am getting is:

FileNotFoundError: [WinError 2] The system cannot find the file specified: 'C:\\Users\\my_username\\Desktop\\selenium_downloads\\close_of_day_reports\\close-of-day-2022-04-24-2022-04-23.pdf' -> 

'C:\\Users\\my_username\\Desktop\\selenium_downloads\\close_of_day_reports\\test.pdf'

What am I doing wrong?

Edit #1:

Edit #2:

I am using Selenium to download the file. When I comment the part of my code out that downloads the file from Selenium, my os.rename code works fine. Weird.

Upvotes: 0

Views: 286

Answers (4)

Found the solution:

When you download files using Selenium, you need to put in a sleep method for a few seconds and then you can download/move files without a problem.

Put this in your code after downloading the file, before downloading another:

from time import sleep
sleep(10)
pass

You may need to increase the sleep value, but 10 worked for me. The number inside of sleep represents seconds, so sleep(10) means to wait 10 seconds.

Upvotes: 0

alexis
alexis

Reputation: 50220

Careful reading is your friend. Computers don't know or care what you meant:

FileNotFoundError: [WinError 2] The system cannot find the file specified: 'C:\Users\my_usernamer\Desktop\selenium_downloads\close_of_day_reports\close-of-day-2022-04-24-2022-04-23.pdf'

See the stray r in the path?

Upvotes: 1

chenjesu
chenjesu

Reputation: 754

I'm pretty sure you ran the code once, renamed the file, and now it won't run again because you already renamed it.

Upvotes: 1

Thornily
Thornily

Reputation: 582

Based off the error, I think you are still leaving one the original name or not changing the right one.

import os

os.rename(
     src = "C:\\Users\\my_username\\Desktop\\selenium_downloads\\close_of_day_reports\\test.pdf",
     dst = "C:\\Users\\my_username\\Desktop\\selenium_downloads\\close_of_day_reports\\close-of-day-2022-04-24-2022-04-23.pdf"

)

Upvotes: 0

Related Questions