- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有一点背景-我有一个Python程序,可以从CSV文件进行绘图。我试图通过允许用户输入1到3个文件来使其更加灵活。我将csv数据导入到pandas数据框中,然后使用它们生成许多不同的图。
我敢肯定,有一种更好的方式来做我正在做的事情,但是在我最初试图弄清楚用户输入的文件数是否少于最大数量时,遇到了一件奇怪的事情(至少对我来说)。
这是我导入数据的方式:
# Imports the data. The first two rows must be skipped due to the file format
data1 = pd.read_csv(filename1, skiprows=1, header=True)
if filename2 != '':
data2 = pd.read_csv(filename2, skiprows=1, header=True)
if filename3 != '':
data3 = pd.read_csv(filename3, skiprows=1, header=True)
data2
和
data3
。后来,我只是想利用
data2
和
data3
的存在来确定是否分别绘制第二和第三数据集:
try:
axarr[1, 0].psd(data1[Ynew], NFFT=n_samples, Fs=fs, noverlap=n_overlap, window=mlab.window_hanning, label=baseFileName1)
except KeyError:
axarr[1, 0].psd(data1[Yold], NFFT=n_samples, Fs=fs, noverlap=n_overlap, window=mlab.window_hanning, label=baseFileName1)
try:
axarr[1, 0].psd(data2[Ynew], NFFT=n_samples, Fs=fs, noverlap=n_overlap, window=mlab.window_hanning, label=baseFileName2)
except (UnboundLocalError, NameError):
pass
except KeyError:
axarr[1, 0].psd(data2[Yold], NFFT=n_samples, Fs=fs, noverlap=n_overlap, window=mlab.window_hanning, label=baseFileName2)
try:
axarr[1, 0].psd(data3[Ynew], NFFT=n_samples, Fs=fs, noverlap=n_overlap, window=mlab.window_hanning, label=baseFileName3)
except (UnboundLocalError, NameError):
pass
except KeyError:
axarr[1, 0].psd(data3[Yold], NFFT=n_samples, Fs=fs, noverlap=n_overlap, window=mlab.window_hanning, label=baseFileName3)
最佳答案
我已经多次重访,似乎有关于此类问题的错误报告。无论如何,异常(exception)是相对昂贵的操作。您可以使用以下类似方法来规避问题并减少周期。
data1 = None
data2 = None
data3 = None
if filename1 != '':
data1 = ...
if filename2 != '':
data2 = ...
if filename3 != '':
data3 = ...
if data1 is not None:
if Ynew in data1:
axarr[1,0].psd(data1[Ynew] ...
elif Yold in data1:
axarr[1,0].psd(data1[Yold] ...
if data2 is not None:
if Ynew in data2:
axarr[1,0].psd(data2[Ynew] ...
elif Yold in data2:
axarr[1,0].psd(data2[Yold] ...
if data3 is not None:
if Ynew in data3:
axarr[1,0].psd(data3[Ynew] ...
elif Yold in data3:
axarr[1,0].psd(data3[Yold] ...
关于python - 为什么我不能在同一Python block 中同时捕获NameError和UnboundLocalError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45513506/
以下代码在 Python 2.5 和 3.0 中都按预期工作: a, b, c = (1, 2, 3) print(a, b, c) def test(): print(a) prin
以下代码在 Python 2.5 和 3.0 中都按预期工作: a, b, c = (1, 2, 3) print(a, b, c) def test(): print(a) prin
从 string 导入时模块,与解析函数一起使用。 from string import punctuation def parsing_func(data): if not any(i==v
mt=0 ft=0 def amount_total(g): if g=="male": mt=mt+amount else: ft=ft+amount
我正在尝试在 leetcode 中解决这个问题。我是 leetcode 的新手。我收到 UnboundLocalError: local variable 'i' referenced before
这个问题已经有答案了: UnboundLocalError trying to use a variable (supposed to be global) that is (re)assigned
也许我今天早上的咖啡不够浓,但这种行为现在让我感到困惑: >>> a = 'foo' >>> def func1(): ... print a ... >>> def func2(): ...
我是编程新手,但我喜欢自然语言(如您所见)。我正在尝试编写一个简单的程序来帮助测试法语现在时动词。但是,在这段代码中,我不断收到错误消息,因为 CorrectAnswers 显然尚未设置为全局变量。有
def create_school(school,year): all_students = {} achievements= {} var = data.Files.get(
我正在使用 django 1.8 和 python 2.7,但我不断收到 unbounLocalError。我的views.py 中的代码看起来一切正常。但它保留分配之前引用的局部变量“cd”。如果有
例如: $ cat -n foo.py 1 def f(): 2 str = len 3 str = str('abc') 4 #
def main(): cash = float(input("How much money: ")) coins = 0 def changeCounter(n): whil
我对局部变量和 python (2.7) 有一些小问题。 我有一些代码: def foo(a): def bar(): print a return bar() >>>
这个问题在这里已经有了答案: Using global variables in a function (25 个答案) 关闭 4 年前。 所以,我一直在使用 python 作为命令提示符应用程序开
我刚开始编程并尝试写一些东西但(当然)它失败了。在我找到真正的问题之后:UnboundLocalError。因此,为了让您远离周围的所有废墟,我将代码简化为: def test(): try:
我继承了一个遗留单元测试,它试图覆盖嵌套在另一个类中的自定义类的名称 datetime。我现在正在重构它(我同意这很糟糕)但我不明白我看到的特定错误。 我看到了一个UnboundLocalError,
这个问题在这里已经有了答案: UnboundLocalError trying to use a variable (supposed to be global) that is (re)assig
这个问题在这里已经有了答案: UnboundLocalError on nested module reimport [duplicate] (2 个答案) 关闭 4 年前。 我被 python 解
这个问题在这里已经有了答案: Is it possible to modify a variable in python that is in an outer (enclosing), but n
我在 View 中有一个函数,用于上传 CSV 数据并写入数据库。那部分正在工作。但是,当我尝试检查是否有数据更新或创建时,我收到一条错误消息: "local variable 'created' r
我是一名优秀的程序员,十分优秀!