初心者のPythonの質問。エラー3:Pythonでファイルの名前を変更する
私はディレクトリ内のファイルの名前を変更しようとしている...
値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
ありながら、パスの値が
C:\tempdir\1\0cd3a8asdsdfasfasdsgvsdfc1.pdf
です次のエラーが発生しました...
os.rename(path, newfile)
WindowsError: [Error 3] The system cannot find the path specified
私はディレクトリとファイルが良いと知っています。私はその上でos.stats()を呼び出すことができるからです。私は
私のインポートライブラリがある....
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(()名前変更のPythonドキュメントを読んだ後)だけが、同じエラーを受け取る新しいファイル名を含めるようにNEWFILEの値に変更されました絶対パスと相対パスに関するこのトピックの他のスレッドを読んでください。明らかに、私の目的は絶対パスを使用することです。私の変数は文字列変数、別の言葉です...
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()ナゲットが大好きです。非常に便利であり、ありがとう。 –