2017-10-16 17 views
0

Les noms de tous changent correctement, mais le premier fichier comporte un espace dans son nom.Le premier nom de fichier est précédé d'un espace

Ce mon code:

import os 

def dtr(x, y): 

    os.chdir(str(x)) 
    c = os.listdir() 

    c1 = str(c).replace(str(y), "") 
    c_1 = c1.replace("[", "") 
    c_2 = c_1.replace("]", "") 
    c_3 = c_2.replace("'", "") 
    c_dtr = c_3.split(",") 


    x = 0 
    while x < len(c): 
     os.rename(c[x],c_dtr[x]) 
     x += 1 

dzn = input("Dizin: ") 
dgtr = input("Değiştir: ") 
dtr(dzn, dgtr) 
input() 
+1

s'il vous plaît fournir l'entrée d'échantillon, la production obtenue et la production attendue. –

+0

Pourquoi faites-vous une seule chaîne à partir de la liste retournée par 'os.listdir()'? –

Répondre

1

Je ne vois pas vraiment le point c variables * autres que c lui-même dans votre exemple.

Pouvez-vous essayer ce qui suit,?

def dtr(x, y): 
    c = os.listdir(str(x)) 

    for fname in c: 
     os.rename(fname, fname.replace(str(y), '')) 

Si je comprends bien, ce serait faire ce que vous voulez (renommer les fichiers/dossiers dans le chemin x, chaîne suppression passé en y)

Cependant, si je comprends la communauté:

  1. Essayez de décrire ce que vous essayez de faire, pas seulement ce que vous obtenez
  2. Essayez de faire votre langue indépendante Code