質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.34%
Python

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

Q&A

解決済

1回答

272閲覧

マイナス符号をファイル名に含むときのソートの方法

yyicp

総合スコア50

Python

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

0グッド

0クリップ

投稿2025/01/09 05:29

編集2025/01/09 06:16

実現したいこと

「該当のソースコード」を実行すると、下記のようなファイルが作られます。

イメージ説明

この状態では見づらいので、フォルダを見たときに
x=-2_test.txt
x=-1_test.txt
x=0_test.txt
x=1_test.txt
x=2_test.txt
のように表示するようにするためにはどのようなコードに直せば良いでしょうか。

該当のソースコード

python

1t0 = [-2, -1, 0, 1, 2] 2 3for i in range(0,5,1): 4 filename = "x=%d_test.txt" % t0[i] 5 file = open(filename, 'w') 6 file.write(str(t0[i])) 7 file.close()

試したこと

フォルダ画面で、更新日時を押しても同じ時間に更新されているのでうまくいきませんでした。

プログラムを実行したあとに何らかの手動の処理を行うのではなく、プログラムを実行すると自然に
x=-2_test.txt
x=-1_test.txt
x=0_test.txt
x=1_test.txt
x=2_test.txt
となるようなコードを教えてください。
今回のように負の数値をファイル名にしたいときがあると思います。

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

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

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

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

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

fiveHundred

2025/01/09 05:41

そもそも、フォルダを確認しているのは、何というアプリですか?
yyicp

2025/01/09 05:54

>fiveHundred様 コメントありがとうございます。 特にアプリは使用しておりません。 「実現したいこと」にある画面を更新しました。pyファイルと同じ場所に出力されるので、それで確認しています。
fiveHundred

2025/01/09 05:56

質問文中にあるファイル一覧の画像について、何を使っているのかを聞きたいのです。
yyicp

2025/01/09 06:19

>fiveHundred様 画像を更新しました。 特にアプリは使用しておりません。 質問の趣旨を理解できていなかったら申し訳ありません。
melian

2025/01/09 06:20

> フォルダ画面で、更新日時を押しても同じ時間に更新されているのでうまくいきませんでした。 0.1秒間隔でファイルを作成するとよいかもしれません。(手元の環境は Ubuntu Linux 22.04/Python 3.12.3) import time t0 = [-2, -1, 0, 1, 2] for i in t0[::-1]:   filename = "x=%d_test.txt" % i   file = open(filename, 'w')   file.write(str(i))   file.close()   time.sleep(0.1)
fiveHundred

2025/01/09 06:32

> 質問の趣旨を理解できていなかったら申し訳ありません。 この場合、「Windowsのエクスプローラー」と答えてほしかったです。
yyicp

2025/01/09 06:41

>melian様 コメントありがとうございます。 残念ながら私の環境では time.sleep(0.1)をtime.sleep(1)にしないとダメでした。 これではさすがに遅い気がしましたので、 TakaiY様に教えていただいたファイル名で工夫した方が良いと思いました。
yyicp

2025/01/09 06:45

>fiveHundred様 どうもありがとうございました。 勉強になりました。
guest

回答1

0

ベストアンサー

ファイルを表示しているのは、エクルプローラやファインダーなどのようですが、それらの表示順は、すでにそうなっているようにファイル名順やタイプスタンプ順などですので、ファイル名そのものを工夫するなどしなければ、pythonで作成するときにできることはありません。

ファイル名そのものの工夫の例としては、ファイル名に連番を含めるなどはどうでしょう。

text

1x=001_-2_test.txt 2x=002_-1_test.txt 3x=003_0_test.txt 4x=004_1_test.txt 5x=005_2_test.txt

投稿2025/01/09 06:02

TakaiY

総合スコア14001

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

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

yyicp

2025/01/09 06:21

ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.34%

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

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

質問する

関連した質問