質問

私はいくつかのファイルの名前を変更しようとしているが、*不可解なエラーを取得します。私はこれを実行すると:

if os.path.isfile(fullPath):
    print 'fmf exists'
    print fullPath
    print newFilePath
    os.rename(fullPath,newFilePath)

私は次のエラーを取得します

fmf exists
(correct fullPath)
(correct newFilePath, ie. destination)
Traceback (most recent call last):
  File "whatever.py", line 374, in ?
    os.rename(fullPath,newFilePath)
OSError: [Errno 2] No such file or directory
以来、私はのをフルパスでファイルが存在することの知っている

は、私がエラーに困惑しています。それはダムになるのでもちろん、newFilePathは、存在しません。任意のヒント?

ありがとう! アレックス

*されているわけではない、彼らはすべて?

役に立ちましたか?

解決

あなたが存在しないディレクトリにコピーしようとすると、まだ例外を取得することができます。

他のヒント

は、私はとてもここに私の2セントの価値がある、あなたのコードの完全な内部の仕組みを見ることができません

あなたのnewFilePathは存在しないディレクトリが含まれていてもよいです。その場合は、その後、お使いのオペレーティングシステムに応じて、あなたのプログラムが存在しないディレクトリにファイルを作成することができません。それはあなたのエラーの可能性があります。

ホープ、このことができます。

ポスターは彼の問題を解決したが、私は同じ症状を持っていた原因が違うように見えたように、

それはそうです。私は名前変更しようとしていたファイルは、ちょうど前の行のサブプロセスの呼び出しで作成されていました。私は再び私のスクリプトを実行した場合は、ファイルが前回の実行で作成されていたことから、私は、名前変更の問題を持っていなかったが、私は以前に作成したファイルを削除した場合、私は名前の変更と同じ問題になるだろう。サブプロセスが完了する前にos.renameが呼び出さなっていたと、ファイルは、したがって、まだ存在していなかった名前を変更するように思えます。私は、サブプロセスの呼び出しの後os.wait()を挿入し、そして私は、これは私の問題を解決したと考えています。

私の新しいファイル名は、UnixおよびLinuxでのディレクトリ区切り文字と混同されているスラッシュを含んでいた時に

私は、同じエラーが発生しました。たとえば、存在しないディレクトリと「そのようなファイルやディレクトリ」の結果に「4月27日/ 2015.txt」リードにファイルの名前を変更。あなたは、任意の他の許容文字でスラッシュを置き換えることによって、この問題を解決することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top