strptime дает ValueError: остаются не преобразованные данные: - PullRequest
0 голосов
/ 07 февраля 2019

есть файл, в котором хранятся такие данные;

  hostname;2019-01-09T23:59:38Z ;2019-01-10T00:04:04Z

из этого файла я создаю новый файл, подобный этому;(в windows env.python 3.7)

  hostname;2019-01-09 23:59:38;2019-01-10 00:04:04;0:04:26

, но мне нужно создать тот же файл в Linux, который установлен Python 2.7.5.есть проблема с полем даты, я не преобразовал секунды в поле даты.

Red-hat 7.5

Python 2.7.5

Ошибка;

Traceback (most recent call last):
File "test.py", line 18, in <module>
End2 =   datetime.strptime(End, '%Y-%m-%dT%H:%M:%SZ')
File "/usr/lib64/python2.7/_strptime.py", line 328, in _strptime
data_string[found.end():])
ValueError: unconverted data remains:

И это то, что я разработал;

  #!/bin/python
  import datetime 
  import time


  with open(r"/root/backup/backup.txt") as f:
       with open(r"/root/backup/backup2.txt", 'w') as f1:
           for lines in f:

            fields = lines.split(";")
            Hostname = fields[0]
            Start = fields[1]
            End = fields[2]
            Start1 = datetime.strptime(Start, '%Y-%m-%dT%H:%M:%SZ')
            End2 =   datetime.strptime(End, '%Y-%m-%dT%H:%M:%SZ')
            delta = End2 - Start1

            f1.write(Hostname + ";Start:"+str(Start1)+";Backup Finish:"+ str(End2)+";Backup Completed Time:"+ str(delta))

    f1.close()

  f.close()

то, что я ожидаю, это результат;

имя хоста; 2019-01-09 23: 59: 38; 2019-01-10 00: 04: 04; 0: 04: 26

...