WindowsError:[错误2]系统找不到指定的文件(但只能使用Atom)

时间:2016-02-14 12:40:14

标签: python csv

我是python的新手,我搜索了很多但在其他地方找不到同样的问题。

我有一个函数可以删除指定列上csv文件的引号,将结果写入temp.csv,然后使temp.csv替换file.csv。 除了重命名时出错。

这是代码

import csv
import os

dossier_racine = "D:\PROG\Lire CSV"
fichier_source = os.path.join(dossier_racine, "fichier.csv")

    def removeQuote(fichier_csv, numColonne, separ=separateur):
        fichier_temp = 'temp.csv'

        print "\nOuverture du fichier %s" % fichier_csv
        lecture_fichier = open(fichier_csv, 'rb')
        lecture_csv = csv.reader(lecture_fichier)
        ecriture_fichier = open(fichier_temp, 'wb')
        ecriture_csv = csv.writer(ecriture_fichier)

        print "\nRemplacement des quotes"

        # remplace la chaine dans chaque ligne
        for ligne in lecture_csv:
            ligne[numColonne] = ligne[numColonne].replace("'", "")
            ecriture_csv.writerow(ligne)

        print "\nFermeture du fichier %s" % fichier_csv

        # Fermeture des fichier_csv
        ecriture_fichier.close()
        lecture_fichier.close()

        # récupère le nom du fichier source
        nom_fichiercsv = os.path.basename(fichier_csv)
        # récupère le nom du dossier contenant le fichier source
        nom_dossier = os.path.dirname(fichier_csv)

        # Supprime le fichier source pour que le fichier temp le remplace
        os.remove(fichier_csv)

        # Renomme le fichier temp avec le nom du fichier source
        # Afin qu'il le remplace
        os.rename(os.path.join(nom_dossier, fichier_temp),
                  os.path.join(nom_dossier, nom_fichiercsv))

removeQuote(fichier_source, 6)

使用PowerShell运行时一切正常。但是当我尝试使用Atom和Script包运行它时,我收到了这个错误:

  

WindowsError:[错误2] LSystem找不到指定的文件

在线:

os.rename(os.path.join(nom_dossier, fichier_temp),
              os.path.join(nom_dossier, nom_fichiercsv))

有什么问题吗?如果是的话,你能帮我找到吗?

由于

1 个答案:

答案 0 :(得分:0)

为了让Duncan的回答更加明显,我会在这里更新。

我在D:\PROG\Lire CSV工作,但我的temp.csv是在工作目录中创建的,这对Atom来说是不同的。

所以,我刚刚在创建时更改了temp.csv的位置,并在nom_dossier中创建了它。