擅长:python、mysql、java
<p>您的代码不完整,因为您没有提供输入文件<code>IMAG0658.jpg</code>。但有些事情还是可以说的,我们仍然可以回答你的问题。在</p>
<p>从您的print语句来看,<em>看起来像<code>GPSLat.values[0]</code>和{<cd3>}都是<code>int</code>值。但是我们看到<code>GPSLat.values[2]</code>看起来像一个分数,因此不是<code>int</code>值。从您的错误回溯中我们可以看到<code>GPSLat.values[1]</code>或{<cd5>}实际上是一个对象实例。所以这些值中至少有一个像数值一样打印,但实际上是一个对象实例。在</p>
<p>问题的解决方案是获取那些在<code>print</code>函数中显示的、因此<code>str</code>函数也可以访问的显式数值,并在进一步计算之前将其转换为数值。由于<code>GPSLat.values[2]</code>不像int那样打印,而是像分数一样打印,因此我们可以使用<code>fractions</code>模块中的<code>Fraction</code>类型来轻松地转换为<code>float</code>。因此,对于每个值,我们使用<code>str</code>来获得看起来像数字的值,然后将其转换为实际的<code>float</code>值。在</p>
<p>所以我们可以</p>
<pre><code>from fractions import Fraction
GPSDDLat = ( float(str(GPSLat.values[0]))
+ float(str(GPSLat.values[1])) / 60
+ float(Fraction(str(GPSLat.values[2]))) / 3600
)
</code></pre>
<p>但是如果没有这个文件,我就无法对代码进行真正的检查。在</p>