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

Warning: Cannot modify header information - headers already sent by (output started at /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php:6114) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-content/plugins/all-in-one-seo-pack/app/Common/Meta/Robots.php on line 87

Warning: Cannot modify header information - headers already sent by (output started at /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php:6114) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/feed-rss2.php on line 8
パス | 診療放射線技師がPythonをはじめました。 http://radiology-technologist.info 診療放射線技師のPython日記。解析等で使えるコードを作成、アップしていきたいと思っています。その他いろいろ Tue, 28 Jan 2020 01:54:38 +0000 ja hourly 1 https://wordpress.org/?v=6.7.1 https://i0.wp.com/radiology-technologist.info/wp-content/uploads/2018/09/cropped-logo5.png?fit=32%2C32 パス | 診療放射線技師がPythonをはじめました。 http://radiology-technologist.info 32 32 164362728 パスからファイル名だけを取り出す方法 http://radiology-technologist.info/post-417 http://radiology-technologist.info/post-417#respond Tue, 28 Jan 2020 01:54:30 +0000 http://radiology-technologist.info/?p=417 拡大、縮小、輪郭抽出等の画像処理をし保存していくこ […]

The post パスからファイル名だけを取り出す方法 first appeared on 診療放射線技師がPythonをはじめました。.]]>
拡大、縮小、輪郭抽出等の画像処理をし保存していくことはよくある事だと思います。

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

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

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

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



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

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

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

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

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

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


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


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


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

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

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

いかがでしょうか?

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

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

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

filename ="C:/Users/Desktop/heart_cine/short_axis_EF15_copy/heart_ef15_3_9.png"

cou = filename.rfind("/")

print("一番後ろの/は、前から数えて" + str(cou) + "番目")
print("ファイル名は  " + filename[cou + 1:])

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


環境

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

広告
上新電機 パソコン買取サービス
The post パスからファイル名だけを取り出す方法 first appeared on 診療放射線技師がPythonをはじめました。.]]>
http://radiology-technologist.info/post-417/feed 0 417