新的python挣扎着追加

时间:2016-04-07 20:49:57

标签: python append

嘿,我环顾四周,但似乎无法找到答案。我希望识别并打印列表中的文件数量。他们的名字,但一直在发生错误。我是python的新手,所以我很确定我有些不对劲并道歉,如果这是一个愚蠢的问题。下面是我到目前为止的代码

import os
folderpath = "C:\Users\Michaelf\Desktop\GEOG M173\LabData"
filelist = os.listdir(folderpath)
print filelist
Counter_Shapefiles = 0
Names_of_Shapefiles = 0

for the_file_name in filelist:
     File_Extension = the_file_name[-4:]
     if "file_Extension == .shp":
         Counter_Shapefiles= Counter_Shapefiles + 1
         Names_of_Shapefiles.append

3 个答案:

答案 0 :(得分:0)

Names_of_Shapefiles是一个int。将其更改为列表并将要添加的内容添加到追加调用中。

此外,在添加问题时,请注意您获得的错误以供将来参考。

答案 1 :(得分:0)

import os
folderpath = "C:\Users\Michaelf\Desktop\GEOG M173\LabData"
filelist = os.listdir(folderpath)

print filelist

Counter_Shapefiles = 0
Name_of_Shapefiles = []

for the_file_name in filelist:
    File_Extension = the_file_name[-4:]
    if File_Extension == ".shp":
        Counter_Shapefiles = Counter_Shapefiles+1
        Names_of_Shapefiles.append(the_file_name)

查看我对您的代码所做的更改。

  • 对于if语句,您不希望您的条件使用引号,因为它将其转换为字符串。如果您想明确说明您的陈述,那么您可以使用括号,但这不是必需的
  • 在同一个if语句中,您键入file_Extension而不使用大写字母f,它与File_Extension不同,因此您的if语句不知道它在寻找什么。
  • 为你的" .shp"字符串,需要使用引号,以表明它是一个字符串。
  • 定义Names_of_Shapefiles数组时,需要将其放在方括号中,否则它将自动成为数字而不是数组。
  • .append是一个函数,并接受输入;你的程序怎么会知道要添加到Names_of_Shapefiles数组的内容?这就是为什么你把你想要的东西放在最后的括号内。

答案 2 :(得分:0)

使用追加你需要一个列表而不是一个int

Name_of_Shapefiles = 0

应该是

Name_of_Shapefiles = []

其次,追加的语法是Names_of_Shapefiles.append(the_file_name)

相关问题