pythonが動かなくてどうしてよいかわからなくなった事はないでしょうか?
私もありまして原因と解決方法がわかりましたので、この記事でお伝えします。
pythonで次々とファイルを作成するスクリプトを作成した時に、はまってしまったので覚書しておきます。
windowsのプロンプトで使用できるbatやpythonやphpを使用して、業務効率化やWebサイトを作成しております。javaやシェルスクリプトなど、様々なプログラミングを行った実績ありの筆者です。
pythonが動かない理由はパスにあった話
エクセルのシートのデータを基にして何らかの処理をして、シートの数だけファイルを作成するスクリプトを作成していました。
その時にエラーでpythonが動きませんでした。
ファイルを次々と作成するのでファイル名を繰り返す必要がありました。シートの名前を取得していましたので、そのシート名をファイル名につけようと思い下記のパスを指定しました。
変数「page」にはシート名が入るようになっています。
waku_file_w = r'D:\DATA\pythonG\1_host_ip_syutoku\comp\'+page+'waku.html'
エラーで動きませんでした。
原因はパスがおかしかったからです。
pythonが動かない理由
フォルダの区切りを表す「\」はエスケープの役割を果たすので、変数「page」の前の「\comp\’」の「’」は文字列の終わりを表そうと思っていたのですが、その前に「\」があるために文字列の「’」と解釈されたのだと思います。
変更前python
waku_file_w = r'D:\DATA\pythonG\1_host_ip_syutoku\comp\'+page+'waku.html'
変更後python
waku_file_w = r'D:\DATA\pythonG\1_host_ip_syutoku\comp\waku-'+page+'.html'
仕方なく上記に変えました。ファイル名の先頭は変えれないですね。またいい方法があれば書きます。これで一応動きました。
妥協してこれで行こうと思います。
ちなみにエディタはMicrosoftのVisual Studio Codeを使用しています。
コードを書けるし、様々な言語の補完機能もあり、エディタでスクリプトを動かすこともできるし、エラーも表示してくれるので重宝しています。
当然これだけ機能が充実していると少し重いです。そこだけ注意が必要です。
よければ下記からMicrosoftのVisual Studio Codeを、ダウンロードして使用してみるのもいいと思います。
Microsoft Visual Studio Codoのダウンロードはこちらから