我有一個python腳本,它讀取文本列表並將其寫入四個獨立的文件。是否有可能只寫一個文本文件,每行有關節座標x座標y座標和z座標以空格分隔?我將不勝感激任何幫助使用python分割文本
import os
os.chdir('/Users/JP/DevEnv/ASA')
import re
# regex to extract data line
r = re.compile(r"\s*(\d+)\s+X=(\S+)\s+Y=(\S+)\s+Z=(\S+)")
a="""SYSTEM
DOF=UY,UZ,RX LENGTH=FT FORCE=Kip
JOINT
1 X=0 Y=-132.644 Z=0
2 X=0 Y=-80 Z=0
3 X=0 Y=-40 Z=0
4 X=0 Y=0 Z=0
5 X=0 Y=40 Z=0
6 X=0 Y=80 Z=0
7 X=0 Y=132.644 Z=0""".splitlines().__iter__()
# open all 4 files with a meaningful name
files=[open("file_{}.txt".format(x),"w") for x in ["J","X","Y","Z"]]
for line in a:
m = r.match(line)
if m:
# line matches: write in all 4 files (using zip to avoid doing
# it one by one)
for f,v in zip(files,m.groups()):
f.write(v+"\n")
# close all output files now that it's done
for f in files:
f.close()
輸出文本文件的第一行是這樣的: 1 0 0 -132.644
我不能你已瞭解想要一個輸出文件的線條看起來像,以及如何將輸入文件不同。顯示應該爲您輸入的內容。 –
請參閱我上面的編輯 – user7269405
重複,請參閱:http://stackoverflow.com/questions/41109713/split-up-a-text-file-based-on-its-contents –