Python奇怪的“字符串索引必须是整数”错误

您所在的位置:网站首页 python中索引-1 Python奇怪的“字符串索引必须是整数”错误

Python奇怪的“字符串索引必须是整数”错误

#Python奇怪的“字符串索引必须是整数”错误| 来源: 网络整理| 查看: 265

问题解决了!是 newfilename[0,3] 而不是 newfilename[0: 3]

我知道之前有人问过这个问题,我查看了所有答案以及人们遇到的与此错误消息相关的问题类型,但找不到遇到相同类型问题的人。

我正在播种整个方法以防万一。所以这是我的问题;

当我尝试使用newfilename[int, int] 获取“newfilename”的子字符串时,编译器一直认为我在那里没有整数,至少从我的检查来看是这样。

我用这段代码做了什么:我正在剪切一个文件名的末尾,例如“foo.txt”,以获得保存为新文件名的“foo”。然后我将数字(转换为字符串)添加到它的末尾以获得“foo 1”,然后添加回“.txt”以获得“foo 1.txt”的最终结果。当我尝试取出子字符串并删除文件名的最后四个字符以仅获取“foo”时,就会出现问题。之后,我再次检查文件夹中是否还有这样的文件,如果有,我再进行另一组剪切和粘贴操作,将 1 添加到前一个文件中。老实说,我还没有测试过 while 循环是否可以工作,我只是认为它在技术上应该可以工作,但是由于这个错误,我的代码没有达到那么远,哈哈。

我的错误:

File "C:/Users/Reaper/IdeaProjects/Curch Rec Managment/Setup.py", line 243, in moveFiles

    print(newfilename[0, 3])

TypeError: string indices must be integers

注意这个错误来自于我试图硬编码数字以查看它是否有效

这是硬代码被注释掉的当前错误:

    newfilename = newfilename[0, int(newfilename.__len__() - 4)] + " 1.m4a"

TypeError: string indices must be integers

我尝试过的方法:我尝试通过字面输入 newfilename[0, 7] 来对数字进行硬编码,但仍然出现相同的错误。我试过在一个单独的 python 文件中执行此操作,它似乎在那里工作正常。此外,真正让我感到困惑的是它在我程序的另一部分中工作得很好,如下所示:

 nyear = str(input("Enter new Year: "))

 if nyear[0:2] != "20" or nyear.__len__() > 4:

     print("Sorry incorrect year. Please try again")

所以我已经研究了一段时间,现在试图弄清楚世界上正在发生什么,但无法到达那里。决定我会睡在上面,但会发布问题以防万一。如果有人能指出可能出了什么问题,那就太棒了!或者告诉我编译器只是愚蠢,我想那也行。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3