정보 업데이트
6213 단어 python
import re
def offset(initial_data, on):
reg = r'vertex\s\s.+'
found = re.findall(reg, initial_data)
for found_reg in found:
# take only the number
x, y, z = found_reg.split()[1:]
x, y, z = float(x), float(y), float(z)
# add something
x += on['x']
y += on['y']
z += on['z']
initial_data = initial_data.replace(found_reg, f'vertex {x:.2E} {y:.2E} {z:.2E}')
return initial_data
if __name__ == "__main__":
with open('initialePos.txt', 'r') as f:
initial_data = f.read()
# on which data to add offset
on = {"x": 6, "y": 3, "z": 0}
offset_data = offset(initial_data, on)
with open('initialPos_offset.txt', 'w') as f:
f.write(offset_data)
# initialPos.txt
facet normal -1.000000e+00 0.000000e+00 0.000000e+00
outer loop
vertex 0.000000e+00 6.666667e-02 0.000000e+00
vertex 0.000000e+00 0.000000e+00 0.000000e+00
vertex 0.000000e+00 0.000000e+00 6.666667e-02
endloop
endfacet
# initialPos_offset.txt
facet normal -1.000000e+00 0.000000e+00 0.000000e+00
outer loop
vertex 6.00E+00 3.07E+00 0.00E+00
vertex 6.00E+00 3.00E+00 0.00E+00
vertex 6.00E+00 3.00E+00 6.67E-02
endloop
endfacet
En fait c'est vraiment très basique. On se donne un fichier template dans lequel on va identifier un mot clé ou un pattern(faisable avec une regex). Ici le pattern à trouver est
reg = r'vertex\s\s.+'
. Il suffit ensuite de définir par quoi on remplace ce qu'on a trouvé au niveau de la regex et on garde toute le reste.
Reference
이 문제에 관하여(정보 업데이트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pacdev/update-de-fichier-ii5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)