FileNotFoundError:when trying to replace existing csv file

FileNotFoundError:when trying to replace existing csv file

我似乎无法将通常在另一个脚本中 运行 的代码正确地在新脚本中 运行 。在代码的末尾,它将查找并查看文件是否存在,如果存在,它将替换它并将下载的文件名更改为指定的文件名,但我一直收到错误消息。知道我可能遗漏了什么吗?

这是代码

database = "E:\Stock Database\Historical Data\Historical Stock List\"

chrome_options      = webdriver.ChromeOptions()
prefs               = {'download.default_directory': database}
chrome_options.add_experimental_option(name='prefs', value= prefs)
stocks              = webdriver.Chrome(r"E:\Python Programs\chromedriver", chrome_options = chrome_options)

#Website
stocks.get(universe_data_site)

#Navigate Web Page
stocks.find_element_by_css_selector('#ui-id-4').click()
stocks.find_element_by_css_selector('#stocks > a.blue_button.factbutton').click()
stocks.find_element_by_css_selector('body > a:nth-child(3)').click()

#Download and renaiming of File
filename = 'allstocks.csv'

#removes existing file if already exists
if os.path.exists(r"%s%s"%(database,filename)) is True:
         os.remove(r"%s%s"%(database,filename))
         os.rename(r"%s"%database+ "stockfactsheet.csv ",r"%s%s"%(database,filename))
else:
        os.rename(r"%s"%database+ "stockfactsheet.csv ",r"%s%s"%(database,filename))

这是我得到的错误

FileNotFoundError                         Traceback (most recent call last)
<ipython-input-51-6093fcfb1ff0> in <module>()
     17          os.rename(r"%s"%database+ "stockfactsheet.csv",r"%s%s"%(database,filename))
 18 else:
---> 19         os.rename(r"%s"%database+ "stockfactsheet.csv,r"%s%s"%(database,filename))

FileNotFoundError: [WinError 2] The system cannot find the file specified: 'E:\Stock Database\Historical Data\Historical Stock Liststockfactsheet.csv ' -> 'E:\Stock Database\Historical Data\Historical Stock Listallstocks.csv'

您的错误消息在父目录后没有 (a) 个反斜杠:

'E:\Stock Database\Historical Data\Historical Stock Liststockfactsheet.csv '
                                                           ^
                                                           here

我认为这可能是由于 "stockfactsheet.csv" 行中缺少引号引起的:

os.rename(r"%s"%database+ "stockfactsheet.csv,r"%s%s"%(database,filename))
                                             ^
                                             here

此外,stockfactsheet.csv 末尾有一个 space,这似乎是您第一次调用 os.rename:

os.rename(r"%s"%database+ "stockfactsheet.csv ",r"%s%s"%(database,filename))
                                             ^
                                             here

如果您没有使用带有上下文突出显示的 IDE(我会推荐 PyCharm),您真的应该这样做 - 一旦我的 IDE.