2017-10-16 5 views
2

の名前を変更し、私はこのコードの目的は、(history.csvと呼ばれる)csvファイルをダウンロードして、私が取得するために、セレンを使用して元の名前に、このファイルの名前を変更することで自分のコードのpythonのダウンロード&

に問題がありますそれはウェブページのそれです。 ここでの最初の問題は、Webページの読み込み中のセレンの遅さです。 2番目の問題は、リンクリストの最初または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:\ユーザーは\サイード\ Anaconda3 \ python.exe C:/ユーザー/サイード/ PycharmProjects /チュートリアル/ us.py サービスセンチメント - 欧州通貨同盟 C:\ Users \ Sayed \ Downloads ZEW調査 - 経済的感情 - 欧州通貨同盟 C:\ Users \ Sayed \ダウンロード トレースバック(最新の呼び出しの最後): ファイル "C:/Users/Sayed/PycharmProjects/Tutorial/us.py"、21行、 os.rename(ファイル、NNAME)で FileExistsError:[WinError 183]既に存在するファイルを作成できません:「金融Union.csv - ヨーロッパサービスのセンチメント」 - >「ZEW調査 - 景況感を金融Union.csv - ヨーロッパ」

+0

すでにファイル名が –

+0

でないか、またはそのファイルがその名前で最初に存在する場合は削除されます。 –

+0

このフォルダは空です –

答えて

0

まあ誤差はPythonによって呼び出されます。

Cannot create a file when that file already

exists:

私はWindowsユーザーではないけど、docsごとに、あなたはreplace()代わりのrename()を試すことができます。それは/それを行う必要があります/静かにファイルを置き換えます。

+0

トレースバック(最新の最後の呼び出し): ファイル "C:/Users/Sayed/PycharmProjects/Tutorial/us.py"名前: PermissionError:[WinError 5]アクセスが拒否されました: 'C:\\ Users \\ Sayed \\ Downloads' - > '消費者物価指数-Romania' –

0

私はあなたのエラーを検索し、見つかったこの記事古い:「同じへ:「\ Users \ユーザーサイード\ダウンロードC」フォルダ内のすべてのファイルの名前を変更するためのループのために持っているよう

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

が見えます名前 '、そうですか?複数のファイルがある場合は、間違いなく名前の重複または競合が発生します。

+0

名前は変数ではなく文字列です –

0

すべてのファイルの名前を同じ名前に変更しようとしていますが、nameの値はループ内で変更されません。

+0

誰もが話していることは自動的に名前を変更するための背後にある変数です。元の名前が何であっても、与えられた名前が何であれ。 –

+0

名前は変数です。はい、ループ内に設定されていません。したがって、最初の反復でその値が "myfile.txt"であれば、次の反復ではこの値を持ち、次の反復ではこの値を持ちます。 –

関連する問題