python下载&改名

时间:2017-10-16 15:43:29

标签: python csv selenium file-rename

我的代码存在问题

此代码的目的是下载一个csv文件(名为history.csv)并将此文件重命名为原始名称,我使用selenium将其从网页中提取出来。 这里的第一个问题是加载网页时硒的速度慢。 第二个问题是下载并重命名链接列表的前2或3个链接后停止的代码。

这是事件列表

https://drive.google.com/file/d/0B5bJvxM9TZkhYXZOSnRDVnhTbFk/view?usp=sharing

from selenium import webdriver
import os
events = open('events.txt', 'r')
for event in events:
    driver = webdriver.Chrome()
    driver.get(event)
    download = driver.find_element_by_xpath('//*[@id="fxec_historytable"]/a').click()

    lname = driver.find_element_by_xpath('//*[@id="fxit-h1title"]')
    lname = lname.text
    lname = lname.replace('\n', '')
    name = str(lname)
    print(name)

    path = "C:\\Users\\Sayed\\Downloads"
    os.chdir(path)
    print(os.getcwd())
    for file in os.listdir(path):
        fileName, fileExt = os.path.splitext(file)
        nname = '{}{}'.format(name, fileExt)
        os.rename(file, nname)

错误是

C:\ Users \ Sayed \ Anaconda3 \ python.exe C:/Users/Sayed/PycharmProjects/Tutorial/us.py 服务情绪 - 欧洲货币联盟 C:\ Users \用户赛义德\下载 ZEW调查 - 经济情绪 - 欧洲货币联盟 C:\ Users \用户赛义德\下载 Traceback(最近一次调用最后一次):   文件" C:/Users/Sayed/PycharmProjects/Tutorial/us.py" ;,第21行,在     os.rename(文件,n名称) FileExistsError:[WinError 183]当该文件已存在时无法创建文件:'服务情绪 - 欧洲货币联盟.cv和#39; - > ' ZEW调查 - 经济情绪 - 欧洲货币联盟.cv'

3 个答案:

答案 0 :(得分:0)

错误由Python调用:

  

当该文件已经

时无法创建文件      

存在:

我不是Windows用户,但根据docs,您可以尝试replace()而不是rename()。应该这样做/静默替换文件。

答案 1 :(得分:0)

我搜索了你的错误并找到了这个旧帖子:

WindowsError: [Error 183] Cannot create a file when that file already exists

看起来你有一个for循环用于将文件夹“C:\ Users \ Sayed \ Downloads”中的所有文件重命名为相同的“名称”,是吗?如果有多个文件,肯定会有名称重复或冲突。

答案 2 :(得分:0)

您正在尝试将所有文​​件重命名为相同的内容,因为name的值在您的循环中不会更改。