Voici un code fonctionnel (Créer un fichier avec succès)
sys.stdout = open('filename1.xml', 'w')
Maintenant, j'essaie de nommer le fichier avec la date et l'heure actuelle (je ne suis pas un expert en python)
filename1 = datetime.now().strftime("%Y%m%d-%H%M%S")
sys.stdout = open(filename1 + '.xml', 'w')
Je veux écrire un nom de fichier avec la date et l'heure exactes, c'est un fichier xml, que le programme a déjà créé, j'ai juste besoin de nommer le fichier. Le code ci-dessus ne fonctionne pas.
[EDITED] - L'erreur renvoyée
File "./fix.py", line 226, in <module>
filenames = datetime.now().strftime("%Y%m%d-%H%M%S")
AttributeError: 'module' object has no attribute 'now'
=
entrefilename
etdatetime
Réponses:
Lorsque vous n'utilisez pas
datetime
, cela résout votre problème (répond à votre question) d'obtention d'une chaîne avec le format d'heure et de date actuel que vous spécifiez:donne:
afin que votre nom de fichier puisse ajouter ou utiliser cette chaîne.
la source
print(timestr)
. Avez-vous copié ce texte d'en haut? Peut-être une faute de frappe autrement?time
module.now
est une méthode de classe dans la classedatetime
du moduledatetime
. Alors tu as besoinOu vous pouvez utiliser une importation différente
Fait de cette façon, vous pouvez utiliser
datetime.now
selon le code de la question.la source
Changer cette ligne
À
Notez le supplément
datetime
. Sinon, changez votreimport datetime
enfrom datetime import datetime
la source
import datetime
quelque part.Celui-ci est beaucoup plus lisible par l'homme.
la source
Je suis surpris qu'il n'y ait pas un seul formateur qui renvoie une valeur par défaut (et sûre) 'pour l'ajout de nom de fichier' - format de l'heure, nous pourrions simplement écrire
FD.write('mybackup'+time.strftime('%(formatter here)') + 'ext'
la source
En voici quelques-uns dont j'avais besoin pour inclure l'horodatage dans le nom du dossier pour vider des fichiers à partir d'un racleur Web.
la source
folder_to_save_files = shutil.os.path.join(drive_letter, folder_name +folder_time)
(uneimport shutil
déclaration peut également remplacer laimport os
déclaration)