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

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

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

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

0回答

730閲覧

with open 既にあるファイルを上書きしようとするとPermissionError

退会済みユーザー

退会済みユーザー

総合スコア0

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2019/09/15 00:59

編集2019/09/15 02:05

お世話になります。質問させて頂きます。どうぞよろしくお願いいたします。

#できないこと 既にあるファイルを上書きしようとするとPermissionErrorが出る

環境python3.6 win10

win10上の特定のディレクトリの中に既にoutput.mp3が存在するとします。
そこで以下Pythonを実行すると

with open("output.mp3", 'wb') as out: out.write(response.audio_content)

以下エラーが出てしまいます。

with open("output.mp3", 'wb') as out: PermissionError: [Errno 13] Permission denied: 'output.mp3'

output.mp3を手動で削除し、上記を実行するとエラーは出ません。
つまりoutput.mp3ファイルが既に存在する場合のみエラーがでます。
そこで重複しているファイルを削除する以外に
上書きしてもエラーをなくす方法があるのでしょうか?

ファイルを削除する事もできませんでした。
PermissionError: [WinError 32] プロセスはファイルにアクセスでき ません。別のプロセスが使用中です。: 'output.mp3'

with openでファイルを開いたままの状態になっていると考えていますが、
ファイルを閉じるコードを書かないのがwith openだと思います。

既にあるファイルに対してファイルをwith openしたい場合
permissionエラーをなくすにはどのように指定すれば良いのでしょうか?

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

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

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

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

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

meg_

2019/09/15 01:08

該当ファイルを開いているということはありませんか?
退会済みユーザー

退会済みユーザー

2019/09/15 01:22

返信ありがとうございます。該当ファイルの名前を変更しようとしたところ、確かに該当ファイルを開いていて変更できませんでした。withはファイルクローズする必要がないと認識していますので対応方法がわかりません。
退会済みユーザー

退会済みユーザー

2019/09/15 01:24

withのf.close()に対応したコードはないと思いますのでファイルを開いたままハングしています。
meg_

2019/09/15 01:39

下記で"output.mp3"と'output1.mp3'の2つのファイル名が出てきています。 with open("output.mp3", 'wb') as out: PermissionError: [Errno 13] Permission denied: 'output1.mp3' 複数のファイルを操作されていますか? 一度、質問文をご確認ください。
退会済みユーザー

退会済みユーザー

2019/09/15 01:46

重複した場合と重複していない場合ファイル名を変更してチェックしています。ファイルを削除する事もできませんでした。 PermissionError: [WinError 32] プロセスはファイルにアクセスでき ません。別のプロセスが使用中です。: 'output.mp3'
退会済みユーザー

退会済みユーザー

2019/09/15 01:47

質問文修正済です
nomuken

2019/09/15 03:36

Windows Media Player Network Sharing Serviceが動いてたりしますか?
退会済みユーザー

退会済みユーザー

2019/09/15 03:43

返信ありがとうございます。いえ動画ファイルは開いていません。どうやらPygameを起動すると該当ファイルが開いたままになるようなんです。 そこで pygame.mixer.music.unload Unload the currently loaded music to free up resources というものがありました。 https://www.pygame.org/docs/ref/music.html#pygame.mixer.music.unload 調べてみると2.0.0からの機能のようです。当然エラーでおこられました。pipでPygameをアップロードしようとしても2.0になりません。 pip3 install pygame -U
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問