для преобразования str в список почему? - PullRequest
0 голосов
/ 10 февраля 2012

В настоящее время я создаю сценарий, чтобы найти последовательности изображений и сгруппировать их вместе. Моя проблема в том, что когда я получаю имена файлов и запускаю их, они превращаются в списки ... почему ?? Это мой код:

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 сохранить fileName как str?

Ответы [ 3 ]

5 голосов
/ 10 февраля 2012

Вы должны сделать только это:

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

Больше нет необходимости в коде.

1 голос
/ 10 февраля 2012

Ваш код немного неясен для меня, но в вашем случае каждое письмо печатается, потому что вы делаете это

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

Ваш pathlist является строкой.

Я думаю, что выпредназначен для этого:

pathList1 = []
pathList1.append(filename)

for fname in pathList1:
          print fname
0 голосов
/ 10 февраля 2012

pathLists = fileName, которая является строкой ... представляющей одно имя файла ... когда вы for над строкой, выдает каждый символ ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...