Oto funkcjonalny kod (Utwórz plik z powodzeniem)
sys.stdout = open('filename1.xml', 'w')
Teraz próbuję nazwać plik aktualną datą i godziną (nie jestem ekspertem w Pythonie)
filename1 = datetime.now().strftime("%Y%m%d-%H%M%S")
sys.stdout = open(filename1 + '.xml', 'w')
Chcę wypisać nazwę pliku z dokładną datą i godziną, jest to plik xml, który program już utworzył, muszę tylko nazwać plik. Powyższy kod nie działa.
[EDITED] - Zwrócony błąd
File "./fix.py", line 226, in <module>
filenames = datetime.now().strftime("%Y%m%d-%H%M%S")
AttributeError: 'module' object has no attribute 'now'
=
międzyfilename
adatetime
Odpowiedzi:
Gdy nie używasz
datetime
, rozwiązuje to problem (odpowiada na twoje pytanie) związanym z uzyskaniem ciągu z bieżącym formatem czasu i daty, który określisz:plony:
więc nazwa pliku może dołączyć lub użyć tego ciągu.
źródło
print(timestr)
. Czy skopiowałeś ten tekst z góry? Może literówka inaczej?time
moduł.now
jest metodą klasowądatetime
w klasie w moduledatetime
. Więc potrzebujeszLub możesz użyć innego importu
Wykonane w ten sposób pozwala na użycie
datetime.now
zgodnie z kodem w pytaniu.źródło
Zmień tę linię
Do
Zwróć uwagę na dodatkowe
datetime
. Możesz też zmienićimport datetime
nafrom datetime import datetime
źródło
import datetime
gdzieś.Ten jest znacznie bardziej czytelny dla człowieka.
źródło
Jestem zaskoczony, że nie ma jednego programu formatującego, który zwraca domyślny (i bezpieczny) „do dołączania w nazwie pliku” - format czasu, moglibyśmy po prostu napisać
FD.write('mybackup'+time.strftime('%(formatter here)') + 'ext'
źródło
Oto niektóre, których potrzebowałem, aby w nazwie folderu umieścić znacznik daty i godziny, aby zrzucić pliki ze skrobaka internetowego.
źródło
folder_to_save_files = shutil.os.path.join(drive_letter, folder_name +folder_time)
(równieżimport shutil
instrukcja może zastąpićimport os
instrukcję)