Почему списки вызывают проблемы - PullRequest
0 голосов
/ 01 июля 2019

Итак, я работаю над определенным кодом для изменения текстового файла. Когда я использую эту функцию индивидуально, она отлично работает

TextRotation.rotTextC("cv.txt")

Но когда я использую его в виде списка, как этот

def files_LTXT(pathF):
    return glob.glob(pathF + "*" + ".txt")

for i in range (len(listFileTXT)):
    TextRotation.rotTextC(listFileTXT[i])

IT выдает следующую ошибку:

 File "C:\Users\Administrator\PycharmProjects\openCV\TextRotation.py", line 
    9, in rotLineC
    0
    valueObj = int(lineStr[c1])
    0.472917 0.713281 0.845833 0.376563
IndexError: string index out of range

Функция rotLineC работает следующим образом:

def rotLineC(lineStr, c1):
if len(lineStr) > 2:
    valueObj = int(lineStr[c1])
    print(valueObj)
    valueXC = float(lineStr[(c1+2):(c1+10)])
    valueYC = float(lineStr[(c1+11):(c1+19)])
    valueW = float(lineStr[(c1+20):(c1+28)])
    valueH = float(lineStr[(c1+29):(c1+37)])

    # print(valueXC)
    # print(valueYC)
    # print(valueW)
    # print(valueH)

    nValueXC = round(1 - valueYC, 6)
    nValueYC = round(valueXC, 6)
    nValueW = round(valueH, 6)
    nValueH = round(valueW, 6)

    rotString = str(int(valueObj)) + " " + str(nValueXC) + " " + \
                str(nValueYC) + " " + str(nValueW) + " " + str(nValueH)

    print(str(nValueXC) + " " + str(nValueYC) + " " + str(nValueW) + " " + str(nValueH))
    print(rotString)
    return rotString

Эта функция отлично работает!

for i in range (len(listFileJPG)):
      ImageRotation.rotImage(listFileJPG[i])

1 Ответ

0 голосов
/ 01 июля 2019

Не забудьте включить / в конец пути!(Я предполагаю, что среда UNIX здесь)

Если путь, например, 'dev / my_pat', ваша функция завершится ошибкой.Путь должен заканчиваться /.Вы можете сделать это со своей функцией:

...
if pathF[-1] != '/':
    return glob.glob(pathF + "/*.txt")
...

Кроме того, не выполняйте итерации, используя индексы, используйте питонский способ!

for file in listFileTXT(my_path):
    TextRotation.rotTextC(file)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...