Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the all-in-one-seo-pack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the easy-fancybox domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the urvanov-syntax-highlighter domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the breadcrumb-navxt domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the advanced-ads domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: 関数 _load_textdomain_just_in_time が誤って呼び出されました。lancr ドメインの翻訳の読み込みが早すぎました。これは通常、プラグインまたはテーマの一部のコードが早すぎるタイミングで実行されていることを示しています。翻訳は init アクション以降で読み込む必要があります。 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 6.7.0 で追加されました) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114
パスからファイル名だけを取り出す方法 | 診療放射線技師がPythonをはじめました。

パスからファイル名だけを取り出す方法

拡大、縮小、輪郭抽出等の画像処理をし保存していくことはよくある事だと思います。

私は、元画像が入っているフォルダ内に画像処理をした画像を保存するフォルダを作成しその中に元画像と同一名で保存していきます。

その際、新規のフォルダに画像保存するためには、元画像のファイルパスに新規のフォルダパスを挿入しなければなりません。

その為、画像処理をしたファイルのパスのお尻からファイル名の文字数を指定して切り出し、新規のフォルダ名を挿入、その後、元のファイル名を付けたすことをやっていましたが、いつもここで手間取ってしまうんです・・・・

画像番号が9から10になるとファイル名の文字数が変わってしまうのです。。。。。1文字増えてしまうのです。。。



ファイルが一つ二つであれば問題ないのですが、シリーズで処理すると20~30枚程度、for文で一気に処理したいのでファイル名の文字数を揃えることをしていました。

その為、ファイル名にある画像番号の桁数を揃える処理を加えていました。

しかし、これが面倒で・・・・

文字で書くと簡単な作業に思われるかもしれませんが、数えているうちに訳が分からなくなってきて・・・・

しかも画像番号だけでなく、シリーズ番号も桁が変われば文字数が変わる。。。。

あ~~~~~ってなってました。


また、ある時はパス全体の文字数をカウントし、数が増えたら切り出す数を1増やすという事をやっていました。


なんとも、おバカでした私・・・・


簡単な方法があったんです。

その方法は、後ろからフォルダ区切りの”/”を見つけて文字数をカウントするだけで良かったんです。

それが、rfind(“/”)です。

いかがでしょうか?

画像番号の桁が増えても、シリーズ番号の桁が増えてもなんてことない。

とても簡単に済んでしまいます。

以下にコードを示します。

みなさん、よろしければ使ってください。


環境

  • windows10
  • python3.6.1
  • Anaconda custom(64-bit)
  • PyCharm2020.2(Communication Edition)

広告
上新電機 パソコン買取サービス

Categories:

,

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です