python-3.x - FileNotFoundError:尝试替换现有 csv 文件时
问题描述
我似乎无法让通常在另一个脚本中运行的代码在新脚本中正常运行。在代码末尾,它将查找文件是否存在,如果存在,它将替换它并将下载的文件名更改为指定的文件名,但我不断收到错误消息。知道我可能会错过什么吗?
这是代码
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
,这似乎来自您第一次调用os.rename
:
os.rename(r"%s"%database+ "stockfactsheet.csv ",r"%s%s"%(database,filename))
^
here
如果您没有使用带有上下文突出显示的 IDE(我会推荐 PyCharm),那么您真的应该这样做 - 一旦我的 IDE 突出显示了引用问题,我就立即看到了它。
推荐阅读
- sql - 更改正则表达式中的子字符串分隔符,不会返回相同的结果
- revit-api - 如何通过 Revit API 中的 Execute 方法访问 Revit 应用程序?
- entity-framework - 将列表从视图传递到控制器
- python - 如何获取python列表中的第一个元素并检查它是否为None?
- python - matplotlib.pyplot 非数字条形图
- php - Mysql 错误“无法建立连接,因为目标机器主动拒绝了它。”
- sql-server - 删除具有相同订单号的多条记录
- python - 在 VS Code 内的 python 脚本中调用 ADLS 数据
- azure - 在 Azure Powershell / Azure Cli 中查找强身份验证
- react-native - react-native 构建失败(run-ios)