2012-02-10 31 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

相關問題