私はこのエラーを受け取っています:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python34\lib\tkinter\__init__.py", line 1538, in __call__
return self.func(*args)
File "C:/Users/Marc/Documents/Programmation/Python/Llamachat/Llamachat/Llamachat.py", line 32, in download
with open(place_to_save, 'wb') as file:
PermissionError: [Errno 13] Permission denied: '/goodbye.txt'
これを実行するとき:
def download():
# get selected line index
index = films_list.curselection()[0]
# get the line's text
selected_text = films_list.get(index)
directory = filedialog.askdirectory(parent=root,
title="Choose where to save your movie")
place_to_save = directory + '/' + selected_text
print(directory, selected_text, place_to_save)
with open(place_to_save, 'wb') as file:
connect.retrbinary('RETR ' + selected_text, file.write)
tk.messagebox.showwarning('File downloaded',
'Your movie has been successfully downloaded!'
'\nAnd saved where you asked us to save it!!')
誰かが私が間違っていることを教えてもらえますか?ありがとう
仕様:Python 3.4.4 x86 Windows 10 x64
Windowsで管理者execution
特権を実現するには、基本的に3つの主な方法があります。
cmd.exe
から管理者として実行していますpython
実行可能ファイルのアクセス許可の変更(非推奨)cmd.exe
asおよびadminの実行WindowsにはSudo
コマンドがないので、Sudo
と同等の権限レベルを達成するために、管理者として端末(cmd.exe
)を実行する必要があります。これには2つの方法があります。
手動で
cmd.exe
でC:\Windows\system32
を検索Run as Administrator
を選択しますC:\Windows\system32
でコマンドプロンプトを開きます。キーショートカットを介して
alt
とctrl
の間)+ X
を押します。Command Prompt (Admin)
を選択しますこれを行うことにより、管理者として実行しているため、この問題は持続しません。
python.exe
のショートカットを作成しますProperties
を選択します"C:\path_to\python.exe" C:\path_to\your_script.py"
のようなものに変更しますこの質問のdelphifirstによる回答
python
実行可能ファイルのアクセス許可の変更(非推奨)これは可能性ですが、そうしないことを強くお勧めします。
単にpython
実行可能ファイルを見つけ、毎回管理者として実行するように設定するだけです。ファイルの作成(管理者のみ)や、実行するのに管理者でないことを必要とするモジュールなどの問題を引き起こす可能性があります。
すべてのユーザーが読み取りおよび書き込み権限を持つように、保存するディレクトリの権限を変更します。
これは、Pycharmを使用しているWindowsマシンで起こりました。
修正:PyCharmアプリケーションを右クリックして、管理者として実行します。
書き込もうとしているファイルが最初に閉じられていることを確認してください。
問題は、開きたいファイルのパスにある可能性があります。パスを印刷してみて、問題がないかどうかを確認してください
def scrap(soup,filenm):
htm=(soup.prettify().replace("https://","")).replace("http://","")
if ".php" in filenm or ".aspx" in filenm or ".jsp" in filenm:
filenm=filenm.split("?")[0]
filenm=("{}.html").format(filenm)
print("Converted a file into html that was not compatible")
if ".aspx" in htm:
htm=htm.replace(".aspx",".aspx.html")
print("[process]...conversion fron aspx")
if ".jsp" in htm:
htm=htm.replace(".jsp",".jsp.html")
print("[process]..conversion from jsp")
if ".php" in htm:
htm=htm.replace(".php",".php.html")
print("[process]..conversion from php")
output=open("data/"+filenm,"w",encoding="utf-8")
output.write(htm)
output.close()
print("{} bits of data written".format(len(htm)))
しかし、このコードを追加した後:
nofilenametxt=filenm.split('/')
nofilenametxt=nofilenametxt[len(nofilenametxt)-1]
if (len(nofilenametxt)==0):
filenm=("{}index.html").format(filenm)
完全に機能しました
ここでの問題は、ユーザーが適切な権限を持っていないことです rights/permissions ファイルを開くには、実行する前にpython ideにいくつかの管理権限を付与する必要があることを意味しますそのコマンド。
あなたがWindowsユーザーであるので、あなたはただ必要ですpython ideを右クリック=>オプション '管理者として実行'そしてコマンドを実行します。
コマンドラインを使用してコードを実行している場合は、同じことを行いますコマンドを開きます管理者権限でプロンプトを表示。
同様の問題に直面しました。私はWindows上でAnacondaを使用しており、次のように解決しました:1)スタートメニューから「Anaconda Prompt」を検索します2)右クリックして「管理者として実行」を選択します3)インストール手順に従います...
これは許可の問題を処理します
書き込もうとしているファイルが開いていないか、バックグラウンドのプログラムがこのファイル/データを保持していないことを再確認してください。これは私にとって問題でした。
PermissionError:[Errno 13]許可が拒否されました:
Excelでの作業中に上記のエラーが発生し、Excelが開いていた後、閉じてコードを実行しようとしました。それは私のために働いた。
ファイルが開いている必要があります。ファイルを閉じてコードを再度実行すると、動作するはずです。