我目前正在尝试创建一个打印出文件特定部分的python程序。我尝试使用file.read()和file.readline(),但我似乎无法得到一个确切的位置,只是整行或位。是否有更好的使用功能或我可以使用的导入?
我遇到的问题是我的文件输出读取
facet normal 0.00000e+00 0.00000e+00 0.00000e+00
我想取值并将它们放入变量中。我想创建一个if语句,它接受这三个值并将它们添加到不同的变量,但是我不知道这样做的函数。我应该首先尝试解析文件吗?
我提供输出的代码是
f = open ('/pycharm/sphere.stl')
for line in f:
print(line)
我想按照
的说法进行if声明f = open ('/pycharm/sphere.stl')
for line in f:
if line == "facet normal"
a = nextFloat()
if a == true
b = nextFloat()
if b == true
c = nextFloat()
if c == true
d = a + b + c
print (d)
我正在尝试解决d但我无法找到一种方法来使用文件的输出来输入d。
答案 0 :(得分:-1)
我认为你要找的是regular expressions。但是,您原则上可以执行split:
之类的操作for line in f.readlines():
if line.split()[0] == 'fact normal':
a = nextFloat() ## the rest of your code...
希望能帮到你。