if语句的未绑定变量错误

时间:2018-02-05 18:53:54

标签: python python-3.x

我得到了#UnboundLocalError:本地变量' fileName'在转让前引用'在if / elif语句下使用变量时。

代码采用文件名并使用正则表达式将垃圾分开开始和结束。然后它返回新的文件名和foldername。:

@Html.TextBoxFor(m => m.DateOfBirth, new { style = "visibility: hidden; width: 0; height: 0;" })
<input type="text" id="DateOfBirthDisplay" readonly="readonly" />
<script>
    $(function() {
        $("#DateOfBirthDisplay").datepicker({
            dateFormat: "d M yy", //The format that you want for the display
            altFormat: "yy-mm-dd", //The format accepted by your controller
            altField: "#@Html.IdFor(m => m.DateOfBirth)"
        }).datepicker("setDate", "new Date(" + Model.DateOfBirth.ToString("yyyy, M-1, d") + ")");
    });
</script>
麻烦的代码:

input:
'[subcompany] series title - 01 [more junk].mkv'

desired output:
('series title - 01.mkv', 'series title')

2 个答案:

答案 0 :(得分:1)

基本上,由于您没有else子句,如果ifelif条件都未评估为True,则fileName未定义。也许尝试在f子句中返回else,以便函数退出:

if f.endswith('mkv') and f.startswith('[H'):
    fileName = fileReg.findall(f)
elif f.endswith('mkv') and f.startswith('['):
    fileName=altReg.findall(f)
else:
    return f

答案 1 :(得分:0)

显然if和elif语句没有运行,所以fileName还没有分配,所以错误只是说 - &#34;这不是变量&#34;