2012-02-10 30 views
0

我目前正在建立一个脚本来查找图像序列并将它们组合在一起..我的问题是,当我得到文件名,并去运行一个“在他们”他们变成列表...为什么??这是我的代码:在转换str列表为什么?

import os, glob 

path = r'C:\Users\manley\Desktop\testSeq' 

for my_file in glob.glob(os.path.join(path, '*.jpg')): 

    (dirName, fileName) = os.path.split(my_file) 
    (fileBaseName, fExt) = os.path.splitext(fileName) 
    #print fileName 

    pathLists = fileName 
    pathList1 = [] 
    pathList2 = [] 

    #print pathList 
    #print fileName 

    for fName in pathLists: 
     print fName 

文件名= rightSide_020_30.0001.jpg

当FNAME打印我得到的每一个字母的列表... 如何获得FName参数持之以恒的文件名作为一条大街?

+0

此代码混淆了我。为什么你需要在列表中只有一个内容的内部'for..in'呢? – millimoose 2012-02-10 01:38:51

+0

对不起,我忘了提及,在我搜索的文件夹中有不同类型的文件序列..所以我需要将它们分开。那是什么下一步是 – user1159817 2012-02-10 06:17:14

回答

1

你的代码是一个小我不清楚,但在你的情况下,每个字母是越来越打印,因为你这样做

>>> mylist = "abc" 
>>> for m in mylist: 
... print m 
... 
a 
b 
c 
>>> 

pathlist是一个字符串。

我想你的意思是这样:

pathList1 = [] 
pathList1.append(filename) 

for fname in pathList1: 
      print fname 
+0

啊,你的权利。那就是我想要做的。谢谢一堆! :) – user1159817 2012-02-10 08:02:26

0

pathLists = fileName这是一个字符串...代表一个文件名...当你在for一个字符串,它产生的每个字符...

+0

哦,我没有意识到它做到了,谢谢你的信息。 :) – user1159817 2012-02-10 08:03:15

5

你只能这样做:

import os, glob 

path = r'C:\Users\manley\Desktop\testSeq' 

for my_file in glob.glob(os.path.join(path, '*.jpg')): 

    (dirName, fileName) = os.path.split(my_file) 
    print fileName 

有没有需要更多的代码。

+0

你是对的,我忘了提及我试图分开不同的文件类型。那里不只有jpgs。所以第二部分就开始这样做了......但是谢谢你花时间帮助我了:) – user1159817 2012-02-10 07:55:11

相关问题