2015-12-07 2 views
0

J'ai deux fichiers dans un répertoire. L'un est un fichier .CSV et l'autre est un script Python. code Python ressemble à ceci:Le script Python ne fonctionne pas sous Ubuntu, sous Windows

from pyx import * 
import csv 
import re 
import sys 

def write(): 

    name = raw_input('Enter the name of .dat file: ') + '.dat' 
    file = open(name, "w") 
    for i in range(0, len(x_lista)-1): 
     file.write(x_lista[i]) 
     file.write(" ") 
     file.write(y_lista[i]) 
     file.write("\n") 
    file.close() 



def read_CSV(x_lista, y_lista): 
    currency = raw_input('Enter the name of input .CSV file: ') + '.CSV' 
    #print currency 
    with open(currency, 'rb') as f: 
     reader = CSV.reader(f) 
     lista = list(reader) 

    print lista 

    if(currency == 'Frank' or 'USD'): 
     factor = 4 
    else: 
     factor = 3 

    for i in range (3, len(lista)-factor): 
     temp = (re.split(r'[";"]', (';'.join(lista[i])))) 
     temp1 = temp[0] 
     x_lista.append(temp1) 
     temp1 = temp[1] 
     y_lista.append(temp1) 
    print x_lista, y_lista 



x_lista = [] 
y_lista = [] 

read_CSV(x_lista, y_lista) 
write() 

Il prend ce qui est .csv et par division/se joindre à la liste, il produit un fichier .DAT composé de deux colonnes de données. Eh bien ... c'est sur Windows. Cependant, quand j'essaie de le compiler sur Ubuntu, j'obtiens ceci:

Enter the name of input .CSV file: Euro 
    Traceback (most recent call last): 
     File "nwb.py", line 46, in <module> 
     read_CSV(x_lista, y_lista) 
     File "nwb.py", line 22, in read_CSV 
     with open(currency, 'rb') as f: 

IOError: [Errno 2] No such file or directory: 'Euro.CSV' 

Quelle serait la solution?

+2

Êtes-vous * sûr * le fichier Euro.CSV est dans le même dossier que votre script python? –

+0

oui, je suis sûr à 100% –

+0

ARGH! Ok, ma faute! Je n'ai pas changé 'lecteur = CSV.reader (f)' en lecteur = csv.reader (f). N'a pas repéré celui-là, donc je suppose que je n'étais pas sûr! THX –

Répondre

2

Dans les systèmes Unix, les noms de fichiers sont sensibles à la casse. Par exemple: Euro.CSV et Euro.csv sont des noms de fichier différents. Peut-être que l'erreur est affichée à cause de cela

+0

essayé, rien malheureusement –