c'est mon premier post ici, donc je suis la bienvenue à la critique en ce qui concerne le poste lui-même en termes de mise en page, etc.TypeError lors de l'attribution d'un chemin non existant à une chaîne
Je suis en train d'écrire un script pour trier automatiquement les fichiers. Pour cela, je dois demander une source où les fichiers sont.
import os
import os.path
import shutil
import time
def main():
src = get_source()
dst = get_destination()
sort_files_by_modification_time(src, dst)
def get_source():
path_source = input("Where are the files?\n")
if not os.path.exists(path_source):
print("The system cannot find the path specified.")
get_source()
elif not os.listdir(path_source):
print("The selected path is empty.")
get_source()
else:
return path_source
#didnt want to simplify this bit, since in the line path_current = something
# the error occurs. It is a TypeError: expected str
def sort_files_by_modification_time(path_source)
for x in range(0, len(os.listdir(path_source))):
path_current = os.path.join(path_source, os.listdir(path_source)[x])
if __name__ == '__main__':
main()
J'ai essayé de le simplifier autant que possible. Lorsque je tape un chemin existant, tout fonctionne bien.
par ex. currentpath \ testfolder existe
Si je devais "accidentellement" taper currentpath \ testfolde sans le r le cas échéant, j'appellerai de nouveau la méthode. La même chose se produira si le dossier est vide (ce qui est également vérifié avec elif). Donc: Si inside get_source() get_source est appelé à nouveau, la variable src sera NoneType ou contiendra None.
Qu'est-ce que je fais de mal?
Merci pour le conseil!
Merci beaucoup! Cela a résolu mon problème :) –