Advertisement
Guest User

Untitled

a guest
Jan 18th, 2021
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.46 KB | None | 0 0
  1. import os
  2. import os.path
  3.  
  4. def normalround(val, ndigits):
  5.     rounded = round(val, ndigits)
  6.     if(str(rounded)[-2:] == '.0'):
  7.         rounded = int(rounded)
  8.    
  9.     return rounded
  10.  
  11. cur_dir = os.getcwd()
  12. file_list = os.listdir(cur_dir)
  13.  
  14. parameter = input()
  15.  
  16. begin = '<' + parameter + '>'
  17. end = '</' + parameter + '>'
  18.  
  19. factor = float(input())
  20.  
  21. for filename in file_list:
  22.     if(filename[-3:] == 'xml'):
  23.         file = open(filename, 'r+')
  24.         xml = file.read()
  25.        
  26.         print('File: ' + filename)
  27.         lastpos = 0
  28.         while True:
  29.             curbegin = xml.find(begin, lastpos)
  30.             if(curbegin != -1):
  31.                 curend = xml.find(end, lastpos)
  32.                
  33.                 value = xml[curbegin + len(begin):curend]
  34.                 newvalue = str(normalround(float(value) * factor, 1))
  35.                
  36.                 xml = xml[:curbegin + len(begin)] + newvalue + xml[curend:]
  37.                
  38.                 lastpos = curend + len(end)
  39.                
  40.                 print('\tEdited ' + value + ' -> ' + newvalue)
  41.             else:
  42.                 file.seek(0)
  43.                 file.write(xml)
  44.                 file.truncate()
  45.                 file.close()
  46.                 print(' ')
  47.                 break
  48.  
  49. #Кидаете в папку где надо отредактировать файлы, запускаете, вводите сначала название аттрибута, далее множитель
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement