我也试过寻找答案,但我不明白其他人类似问题的答案......
tfile= open("/home/path/to/file",'r')
def temp_sky(lreq, breq):
for line in tfile:
data = line.split()
if ( abs(float(data[0]) - lreq) <= 0.1
and abs(float(data[1]) - breq) <= 0.1):
T= data[2]
return T
print temp_sky(60, 60)
print temp_sky(10, -10)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
7.37052488
Traceback (most recent call last):
File "tsky.py", line 25, in <module>
print temp_sky(10, -10)
File "tsky.py", line 22, in temp_sky
return T
UnboundLocalError: local variable 'T' referenced before assignment
Run Code Online (Sandbox Code Playgroud)
第一个print语句正常工作,但第二个不起作用.我尝试将T设为全局变量,但这使得两个答案都相同!请帮忙!
我正在尝试打开一系列的.png情节.我希望能够在屏幕上查看情节,然后得到提示,等待我"按下回车".在按下回车时,应显示下一个图.我已经看到了许多与此类似的问题(Matplotlib - 强制绘图显示然后返回主代码)但是当我这样做时,我必须手动点击绘图窗口右上角的X来关闭它并且仅然后代码继续.
我使用的是python 2.7.8
这是我的代码:
from PIL import Image
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import string
import sys
import shutil
fig=plt.figure()
Viewingfile = sys.argv[1]
for test_file in open(Viewingfile, "r").readlines():
fig.set_tight_layout(True)
plt.ion()
image=mpimg.imread(test_file + ".ps.png")
ax = fig.add_subplot(1, 1, 1)
imgplot = plt.imshow(image)
plt.show()
print test_file
a = raw_input('Next plot?\n')
if a == "1":
print "Do something..I've skipped these details"
plt.clf()
plt.close()
Run Code Online (Sandbox Code Playgroud) 我的文件名看起来与此类似
name_1.23.ps.png
Run Code Online (Sandbox Code Playgroud)
要么
name_1.23.ps.best
Run Code Online (Sandbox Code Playgroud)
要么
name_1.23.ps
Run Code Online (Sandbox Code Playgroud)
我想最后摘下随机文件扩展名,只剩下
name_1.23.ps
Run Code Online (Sandbox Code Playgroud)
与此类似的其他问题使用'。'。作为Delimator,但这会删除name_1之后的所有内容。
我想在命令行(在tcsh或bash中)执行此操作