• ベストアンサー

エラーの対処が分かりません

プログラムファイルは、C:\Usersに置いて実行します。 DドライブのDATAフォルダを、C:\Users\に、DATA_BACKUPフォルダをコピーしたいため、下記のようにしましたが、※エラーがでます。 何故いけないのか、どうすればよいのか困ってます。 shutil.copytree('D:\DATA', './DATA_BACKUP') ※Syntax error (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

  • Python
  • 回答数3
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6641/9408)
回答No.1

Windowsでパスの区切りに使われる円記号は、特殊文字エスケープの開始文字になっています。(\t=タブ、\n=改行等) ですから、pythonプログラム中でパス名を書くときは、パスの区切りの円記号は、円記号2つで書いてください。→'D:\\DATA' ただし、Syntax Error であるならば、それが原因ではない気がします。 プログラム中に、文字列やコメント以外で全角文字が混じっていませんか? 例えばインデントのために全角スペースを使ってしまっているとか。 インデントは、半角スペースか、タブで、つけてください。

the-man
質問者

お礼

ありがとうございました。 まったく、私の見落としでした。 イージーミスでした。

その他の回答 (2)

  • mimazoku_2
  • ベストアンサー率20% (1846/8847)
回答No.3

私はプログラムはやっていないが、※Syntax error って基本的なスペルミスだと思う。 shutil.copytree('D:\DATA', './DATA_BACKUP') □□□□□□□□□□□□□↑□□□□□□↑ なんで、バックスラッシュとスラッシュとが混在してるの? これが※Syntax errorの原因じゃない?

  • wormhole
  • ベストアンサー率28% (1621/5657)
回答No.2

質問に書かれているエラーメッセージは本当に >shutil.copytree('D:\DATA', './DATA_BACKUP') を実行しようとしたときのものですか。 実際に実行したのは shutil.copytree('D:\DATA', 'C:\User\DATA_BACKUP') だったりしませんか。

関連するQ&A

  • PythonのUnicode文字について 

    PythonのUnicode文字について  最近pythonを始めました。このサイト(http://www.pythonweb.jp/index.html)でいろいろと勉強しているのですがUnicode文字についてよくわかりません。 #coding: UTF-8 print u"こんにちは" と入力するとなぜか File "test.py", line 2 print u"こんにちは" SyntaxError: (unicode error) 'utf8' codec can't decode byte 0x82 in position 0: unexpected code byteと表示され出力されませんでした。何故でしょうか。unicode文字についても説明をお願いします。

  • フォルダ 削除しようとするとエラー

    こんにちは、 環境 Windows2000ServerSP4 C:システム D:DATA E:Backup Eドライブでバックアップを行っていますが、作成されたフォルダの一部で 「「ファイル名」を削除できません。ファイルまたはディレクトリが壊れているため、読み取ることができません。」というエラーが出ます。 何が起こっているのかよくわからず困っています。 何かお分かりの方がいましたら教えてください。 よろしくお願いします。

  • ファイルのコピー

    xcopy コマンドを用いて c:\work フォルダ内に  data_backup.1,data_backup.2,~data_backup.31 と data_backup.日付 のファイルがあります これを d:\keep フォルダに本日のファイルのみをコピーする  例 03/11/28の場合、data_backup.28 バッチファイルを教えてください

  • stdio.hからsyntax error??

    10日でおぼえるC言語教室という書籍を購入し、その通りにシステム環境変数の設定を行ったのですが、stdio.hに対してNo such file or directoryの様な?文が出てきてしまいました。 そこで自分なりに調べた結果、ネット上にC_INCLUDE_PATHとCPLUS_INCLUDE_PATHも追加で設定する必要があると書いてありました。 この時点ですでに???ですが…とりあえずやってみたところNo such~のエラーはでなくなりました。 ただ、代わりにsyntax errorなどの様なエラーが沢山出てきてしまいました。(しかし、exeファイルは出来ていて実行は可能です) 自分で書いたコードなら書き間違いだと思うのですが、stdio.hは付属のCDーROMからのものなのでミスは無いと思うのですが… OSはvistaで、CドライブとDドライブが入っているものです。 この書籍でのCコンパイラはMinGWです。書籍付属のCD-ROMからmingw-jpを任意の場所(今回はDドライブ→新規→プログラム→MinGWの中)にコピーしてシステム環境変数pathの設定を行うとgccでコンパイルが可能というものです。 ちなみにシステム環境変数pathに設定したbinというフォルダがあるのは、mingw-jpの中で、場所はDドライブ→新規→プログラム→MinGW→mingw-jp→binです。 変数pathに追加したのは ;D:\新規\プログラム\MinGW\mingw-jp\bin; です。 C_INCLUDE_PATHとCPLUS_INCLUDE_PATHは両方ともD:\新規\プログラム\MinGW\mingw-jp\includeと記述しました。stdio.hはincludeのフォルダの中にちゃんとありました。 実際はmingw-jpの中にcodeというフォルダを作り、その中にhelloというフォルダを作り中にhello.cを記述してあります 以下がエラーの一部です D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:206: error: syntax error before "size_t" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:217: error: syntax error before "size_t" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:218: error: syntax error before "__gnuc_va_list" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:219: error: syntax error before "__gnuc_va_list" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:220: error: syntax error before "__gnuc_va_list" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:221: error: syntax error before "size_t" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:224: error: syntax error before "size_t" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:226: error: syntax error before "size_t" 実際はまだまだエラーが続いてます ここで 1.書籍にはシステム環境変数pathの設定のみしか書いてありませんでしたが、上記のNO~というエラーが出てしまいます。私の設定の仕方が悪いのでしょうか 2.C_INCLUDE_PATHとCPLUS_INCLUDE_PATHを追加すると1のエラーは無くなりましたがこれってどういう事なのでしょうか 3.stdio.hに対してエラーが沢山出ていますが、これって何なのでしょうか 4.syntax errorが出ているのに実行ができるのは何故なのでしょうか 5.この方面は素人同然なので文中の解釈が変かもしれませんが、ご指摘があればお願いします 自分でも調べてみましたがお手上げ状態です。助けていただければ幸いです

  • エスケープされたunicodeのデコード

    "\u063A\u0629" 上記のようなエスケープされたUnicodeの文字列を C言語でデコードしなければならないのですが、 何か利用できる関数や、変換ルールなどはないでしょうか? Javascriptなどでは簡単に出来るようなのですが、 C言語の説明は見つけられませんでした。 上記文字列はJSON形式で得られたものなのですが、 どうしてもC言語でデコードする必要があり、困っております。 ちなみにOSはLinuxで、iconvなどはインストール済みです。 エスケープされているせいか、そのままでは変換できないようです…。 ご存知の方がいらっしゃいましたら、是非ご教授お願いいたします。

  • エラーがでます。どうしたらいいですか?

    FGW の 0 による除算エラーです。 モジュール : USER.EXE、アドレス : 000c:00005724 Registers: EAX=000200f8 CS=171f EIP=00005724 EFLGS=00000202 EBX=00027b70 SS=1207 ESP=0000890e EBP=00e28918 ECX=00000094 DS=1667 ESI=00027b70 FS=1087 EDX=00010000 ES=1207 EDI=00e50005 GS=120f Bytes at CS:EIP: f7 7c 30 3d 01 00 7d 03 b8 01 00 89 44 38 8b 44 Stack dump: こんな感じのエラー表示です。 筆ぐるめのV7.0です。

  • batファイルのxcopyでエラー

    Windows Server2003のバックアップをbatファイルのxcopyを使って行いました。 xcopy F:\...\フォルダ名\*.* L:\BACKUP\フォルダ名 /d /e /c /k /r /h /y > L:\BACKUP\BACKUPLOG\フォルダ名.log そのとき、「コピー中にエラーが起きました。」というメッセージが表示され、正常にコピーできないサブフォルダがありました。 フォルダ名に半角括弧が含まれていることが原因でコピーできなかったと考えているのですが、そのようなことってあるのでしょうか。 しかも、エラーメッセージをほっといたら消えていたので、どこのフォルダだったかわからなくなってしまいました。 バックアップは定期的に行っているのですが、2回目以降はなぜかエラーメッセージが出てきません。 しかもログファイルは上書きされていて、「○○個のファイルがコピーされました。」という旨のメッセージしか書かれていません。 もう一度エラーメッセージを表示させてそのサブフォルダを見つける良い方法があったら、教えてください。 お願いします。

  • SWI-Prologでのエラーに関して

    SWI-Prologを使用してPrologの記述を行っているのですが、1つのファイルに対して、マシンを変えた途端に、以下のようなエラーが続きます。 単純なミスを犯しているのかとも思うのですが、自己解決出来ないので、エラーの回避方法に関してご教示いただければ幸いです。 ERROR: h:/01.pl:1:0: Syntax error: Operator expected ERROR: h:/01.pl:2:1: Syntax error: Operator expected ERROR: h:/01.pl:3:1: Syntax error: Operator expected ERROR: h:/01.pl:4:1: Syntax error: Operator expected ERROR: h:/01.pl:5:1: Syntax error: Operator expected ERROR: h:/01.pl:6:1: Syntax error: Operator expected ERROR: h:/01.pl:7:1: Syntax error: Operator expected % h:/01.pl compiled 0.00 sec, 916 bytes Welcome to SWI-Prolog (Multi-threaded, Version 5.4.7) Copyright (c) 1990-2003 University of Amsterdam. SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Please visit http://www.swi-prolog.org for details 以上がエラー文(Prologの行数をカットしました)です。 宜しくお願いします。

  • バッチファイルにてデータコピー処理

    端末環境:OS windowsNT4.0 D:\data_backup フォルダ内に  data_backup.1  data_backup.2  data_backup.3  data_backup.4   (中略)  data_backup.31 ファイルが存在します そこで質問です、上記OSの端末にて 日時(システム時刻)(例 2005/06/20 16:25)にバッチファイルを 実行し、2005/06/20 ですので、 D:\data_backup\data_backup.20 (←日付) のみを D\バックアップ\data_backup にコピーするには、 どのようにすれば良いのでしょうか? xcopy D:\data_backup D\バックアップ\data_backup

  • エラーチェックができません

    ハードディスクのエラーチェックができないのでデフラグもできません。 セーフモードでやってもできなくなりました。 エラーの文章は “'C:\WINDOWS\Application Data\Identities\{25D05407-447D-4A77-9EF4-5C30033FE29A}\Microsoft\Outlook Express' フォルダには 'cleanup.log' に関する正しくない情報が含まれています。 このファイルのサイズは、フォルダに登録されたファイル サイズと異なります。エラーを修復する前にこのファイルを開くと、ファイルのデータが壊れたり、プログラムがエラーを起こしたりする可能性があります。 フォルダに記録されたファイル サイズを実際のファイル サイズに修正して、エラーを修復します。” で、“エラーを修復”“影響のあるファイルを削除”どちらを選んでもここから先に進めません。 必要な情報があれば補足しますので、どうか対処方法を教えて下さい。 宜しくお願いします。

専門家に質問してみよう