pathを通して画像や.txtの中身をランダム出力してみよう
今回はosモジュールを使って、PC内に保存されている画像フォルダからランダムに出力したり、メモ帳に保存してある文字列からランダムに文字列を出力できたりなどかなり便利なことができるので紹介します!
今回の記事から一部有料にさせていただきます((+_+))
気を取り直して今回やることは最初に紹介した通りですので、早速取り掛かりましょう!
まずはコマンドプロンプトからosモジュールをインストールします
pip install os
まずはPC上にあらかじめ画像フォルダを作っておき、画像を入れておきます
if message.content == "picture":
path = "C:\py\python bot picture" #画像フォルダへのpathをしっかり通しましょう
dirs = os.listdir( path ) #フォルダの中身を全てリストにします
file = random.choice(dirs) #画像を一枚ランダムに選びます
#フォルダ名 +ファイル名
image = path + file #フォルダから画像を一枚取り出す
await client.send_file(message.channel, image)
ここまで出来たら早速ためそう
この3枚をフォルダに入れて、それぞれA,B,Cと名付けました
Cの画像が出力されました
いいですね!
画像は何枚でもフォルダに入れておいても大丈夫です
ちなみに特定の画像を出力したいときは直接pathを通します
この場合はかなりシンプルで
if message.content == "picture":
image = "C:\py\python bot picture\B.png"
await client.send_file(message.channel, image)
と書き換えると
Bの画像が出力されましたね!
こんな感じで使えます!
例えばこれをここで紹介している占いコードと組み合わせる
if message.content == "占い":
#レスポンスされる運勢のリストを作成
unsei = ["大吉", "中吉", "吉", "末吉", "小吉", "凶", "大凶"]
choice = random.choice(unsei) #randomモジュールでunseiリストからランダムに一つを選出
await message.send_message(message.channel, choice) #結果を出力
await message.send_message(message.channel, "C:\py\python bot picture\%s.png" % (choice)) #運勢の画像を出力
というような感じにすれば運勢結果と画像を同時に出力することができます!
*あらかじめ画像は用意する
軽めの応用編はこんな感じですかね!
次にtxt内の文字列をランダムに出力するコードを書いていきます
有料部分の一部を先出ししておきます!
なお有料部分やこれまでの無料記事へのアフターケアはしっかりしますので、安心してください!
先に用途を少し紹介しておきます
一番使えることといえば自分や他の人、特定の人物の発言をBOTに学習させることでたくさんの言葉を覚えて、話すことができるBOT、つまり「AI」のような感じですかね
今回紹介する部分は学習させて、その言葉を発言させるためのプログラムです
応用はいくらでもできるので、かなり有用なプログラムコードかと思います!
python bot text.txtという名前のフォルダを新しく作りました
"C:\py\python bot text\python bot text.txt” #pathはこれで通しました
あらかじめこれだけの文字列を書き込んでおきます
結果を先出ししますがこんな感じです
保存された文字列からランダムに出力されます
ここに学習させるためのプログラミングを書き込みます
今回は送られたメッセージすべてを保存し学習させます
覚えさせるのはいたって簡単でただメッセージを送るだけです
このような感じで誰かが話すたびにどんどん返答のバリエーションが増えていきます
まさにAI!!
保存された文字列はテキストファイルから消せるのでいらないのは消しちゃおう!
無料版はここまでです!
ここまで読んでいただきありがとうどざいます!
コードはここから書きます
よろしければ有料版もお試しください ^^) _旦~~
ここから先は
¥ 100
Amazonギフトカード5,000円分が当たる
この記事が気に入ったらチップで応援してみませんか?