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

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

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

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

Q&A

解決済

1回答

864閲覧

Pythonで一時的にフォルダを作成したい

qkazooing

総合スコア22

Python

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

0グッド

0クリップ

投稿2020/08/31 00:51

一時的にmp.3ファイルをtempかどこかに保存して後で削除する操作をしたいのですがわかりません。

省略 if "AudioStream" in test: with closing(test["AudioStream"]) as stream: output = "speech.mp3" try: with open(output,"wb") as file: file.write(stream.read()) except IOError as error: print(error) sys.exit(-1) else: sys.exit(-1) pygame.init() pygame.mixer.init() pygame.music.load("speech.mp3") ・ ・ ・ pygame.quit()

このコードだとmp3は作成されるが、削除されない状態になっているのでしょうか?
方法がありましたらご教授お願い致します。
ちなみにエラーはpermission denied:speech.mp3とでます。

(省略の部分はこちらに載っています)
参考サイト

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

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

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

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

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

meg_

2020/08/31 01:14

> ちなみにエラーはpermission denied:speech.mp3とでます。 エラー発生箇所はどこですか?
guest

回答1

0

ベストアンサー

こんにちは.
今回のPermission Errorは開いたファイルを閉じないまま削除していることが原因のように思われます.
削除する前にstream.close()を入れてみてください.

投稿2020/08/31 01:02

branch

総合スコア70

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

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

qkazooing

2020/08/31 01:14

すみません どの部分にstream.closeをいれればよろしいでしょうか? 初心者で申し訳ございません。
branch

2020/08/31 01:29

まず削除するコマンドがお示しのコード内に見当たりませんので何とも申し上げられません. 補足依頼もあるように,エラーメッセージとエラーする部分をソースコード内で示していただけて初めて具体的なアドバイスができるかと思います. 削除のために恐らくどこかのサイトを参考にされたと思うのですが,`os.remove(~~)`のような部分はありませんか?`pygame.music.unload()`かもしれず,憶測の域を出ません.
qkazooing

2020/08/31 01:37

os.remove自体書いていませんでした。 書くとしたらpygame.music.load("speech.mp3")以降に書いて、その前にstream.close()を書くような動作になるのでしょうか?
branch

2020/08/31 02:34

>書くとしたらpygame.music.load("speech.mp3")以降に書いて、その前にstream.close()を書くような動作になるのでしょうか? 何を`pygame.music.load(~~)`以降に書くのでしょうか. 抽象的なアドバイスとなってしまいますが,このエラーは「開いた(読み込んだ)ものを閉じていない」から起きている問題かと思います.それを閉じるためにloadで開いているならunload,readで読み込んでいるならcloseをするべきだという意図で回答いたしました. 具体的に提案するためにも,エラーメッセージ及びエラーする部分をソースコード内で示していただけませんでしょうか?現段階では削除を行うコマンドも見当たらず,どこでどうエラーしているのか全く見当もつかない状態ですので,なんとも申し上げることができません.
branch

2020/08/31 03:49

ご確認ありがとうございます. SSL通信でエラーしているようですが,mp3ファイルを削除する件とは別件ではないでしょうか・・? 残念ながら私の知識ではSSL通信に関するエラーではお力添えできませんので,別途質問いただくなどの対応をお願いできませんでしょうか. >loadやreadは使っておらず、openとwriteしか使っていません。 file.write(stream.read())とpygame.music.load("speech.mp3")にて行っておられるかと存じます.
qkazooing

2020/08/31 04:30

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問