Новый вопрос Python.Ошибка 3: Переименование файлов в python
Я пытаюсь переименовать файлы в директории ...
значение пути является
C:\tempdir\1\0cd3a8asdsdfasfasdsgvsdfc1.pdf
в то время как значение NewFile является
C:\tempdir\1\newfilename.pdf
origfile = path
newfile = path.split("\\")
newfile = newfile[0]+"\\"+newfile[1]+"\\"+newfile[2]+"\\"+text+".pdf"
os.rename(path, newfile)
print origfile
print newfile
im, получив следующую ошибку ...
os.rename(path, newfile)
WindowsError: [Error 3] The system cannot find the path specified
Я знаю, что каталог и файл хороши, потому что я могу называть os.stats() на нем. Я изменил к стоимости NewFile включить новое имя файла только, но Получать ту же ошибку (после прочтения документации питона на переименованы())
Мои импортированные библиотеки ....
import sys
import os
import string
from os import path
import re
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from cStringIO import StringIO
I «Я прочитал некоторые другие темы по этой теме - относящиеся к абсолютным и относительным путям. Очевидно, что я намерен использовать абсолютные пути. Мои переменные являются строковыми переменными, другие слова ...
origfile = "C:\tempdir\1\0cd3a8asdsdfasfasdsgvsdfc1.pdf"
Этого достаточно? или я должен использовать другое объявление, чтобы сказать python, это путь?
Вы не избегаете обратных косых черт в 'origfile'? – PyNoob
В целом 'parentdir, filename = os.path.split (origfile); newfile = os.path.join (parentdir, text + '.pdf') '- более надежный способ делать что-то, чем пытаться разбить и собрать по рукам. Это может помочь вам избежать ошибок, хотя я должен сказать, что на самом деле я не вижу ошибки в том, что вы сделали. Думаю, стоит проверить, что в значении 'text' нет косой черты, так как вы этого нам не показали. – jez
Как смешно меня. это анализирует пару тысяч файлов и переименовывает их на основе строки текста, которую она находит в известном месте. Да, некоторые (включая самый первый файл) имеют «/» в имени файла. Должен был подозревать. Тем не менее, я люблю os.path.split() самородок. Очень полезно и спасибо. –