🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

4644閲覧

ファイルの保存名を変更したい。

python_2019

総合スコア68

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/12/10 14:31

for i in range(0,3): fig = plt.figure() # グラフの入れ物(桶) plt.title("wave") # グラフタイトルの指定 x=df_X.columns # 先頭のカラムを取得する。 y=df_X.iloc[i] # 行データを1行ずつ取得する。 plt.plot(x,y) # グラフを描く。 fig.savefig("D:\test\jupyter\image_data\%04.f"%(i)+".jpg") # 連番を付けて保存。

上記を実行すると、
連番で次のようなファイル名で保存されます。

 0000.jpg
0001.jpg
0002.jpg

これを、以下のようにファイル名を変更して
保存するにはどうすればよいでしょうか?

 abc_0000.jpg
abc_0001.jpg
abc_0002.jpg

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2019/12/10 17:56

プログラムを修正する前に、プログラムを理解しましょう。理解できれば自明です。
python_2019

2019/12/11 03:53

ご指摘ありがとうございました。 今後、プログラムを理解するよう努力いたします。
guest

回答2

0

ベストアンサー

Python

1for i in range(0, 3): 2 print("D:\test\jupyter\image_data\%04.f"%(i)+".jpg") 3 4for i in range(0, 3): 5 print("D:\test\jupyter\image_data\%04.f"%(i)+".jpg") 6 7for i in range(0, 3): 8 print("D:/test/jupyter/image_data/%04.f"%(i)+".jpg") 9 10for i in range(0, 3): 11 print("D:/test/jupyter/image_data/abc_%04.f"%(i)+".jpg") 12 13for i in range(0, 3): 14 print("D:/test/jupyter/image_data/abc_%04.f.jpg"%(i)) 15 16for i in range(0, 3): 17 print("D:/test/jupyter/image_data/abc_%04d.jpg"%(i)) 18 19for i in range(0, 3): 20 print(f"D:/test/jupyter/image_data/abc_{i:04}.jpg")
"\a", "\b", "\t", "\n", "\v", "\f", "\r", "\" "\"" などには特別な意味があります。 パス名の区切りには "/" を使うほうが無難です。 本当に "D:\test" で上手く行ったんでしょうか? "\t" はタブですよ。

投稿2019/12/10 18:36

kazuma-s

総合スコア8224

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

python_2019

2019/12/11 03:52

"/" を使うとエラーがなくなりました。 どうもありがとうございました。
guest

0

こうかな

python

1fig.savefig("D:\test\jupyter\image_data\abc_%04.f"%(i)+".jpg")

ここにある、%04.fはフォーマット指定子といって、 文字列の直後にある値をこの形式でこの場所に挿入するための記号です。
で、文字列の他の部分はそのまま表示されるので、お望みのようなことをするにはこのようにすればよいということ。

投稿2019/12/10 15:37

TakaiY

総合スコア13758

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

python_2019

2019/12/10 16:02

ご連絡ありがとうございます。 教えて頂いたコードを実行しますと、以下のようなエラーが出ました...。 どのように対処すればよいでしょう? よろしくお願いいたします。 OSError: [Errno 22] Invalid argument: 'D:\test\jupyter\image_data\x07bc_0000.jpg'
python_2019

2019/12/10 16:09

ちなみに、以下のようにフォルダを省略しますと、直下のフォルダにファイルが作成されるようです。 基本的なフォルダ(パス)指定方法が間違っているのでしょうか? よろしくお願いいたします。 fig.savefig("abc_%04.f"%(i)+".jpg") abc_0000.jpg abc_0001.jpg abc_0002.jpg
python_2019

2019/12/10 16:16

不思議なことに、以下だと正常に処理されます。 abc_ → www_ に変更・ fig.savefig("D:\test\jupyter\image_data\www_%04.f"%(i)+".jpg") エラーで、「x07bc_0000.jpg」と出ていますので、 「a」などの文字が使えないのではないのでしょうか? 使える文字と、使えない文字がある? よろしくお願いいたします。
TakaiY

2019/12/11 15:44 編集

言われてみれば、「\a」はエスケープシーケンスの「x07」に相当するので、そう解釈されてしまうようですね。 対応するとしたら、他の場所のように「\」でなくて「/」を使うとか、raw文字列を使うとかはどうでしょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問