ポストリンカーによって作成されたバイナリファイル(xFiles.bin.addr_patched)を使用するpythonスクリプトを実行しようとしていますが、このエラーが発生します。
File "abc.py", line 74, in ParseCmd
shutil.copy(gOptions.inputX, gWorkingXFile)
File "/usr/lib/python2.6/shutil.py", line 89, in copy
copymode(src, dst)
File "/usr/lib/python2.6/shutil.py", line 66, in copymode
os.chmod(dst, mode)
OSError: [Errno 1] Operation not permitted: 'myPath/xFiles.bin.addr_patched'
このxFiles.binのアクセス許可をls-lで確認すると、次のように表示されます。
-rwxrwxrwx 1 nobody nogroup
エラーは、このファイルが他のアプリケーションによって作成されたためだと思います。実行中のpythonスクリプトはアクセスできません。私はubuntuの初心者なので、よくわかりません。これを修正する方法これを修正する方法についての提案はありますか?
解決済み:
回答の1つとして提案:chown username:groupnameファイル名はこの問題を修正します
あなたは試すことができます(コマンドラインからですが、Pythonには構文があると確信しています):
Sudo chown your_username:your_groupname filename
注:グループは通常、ユーザー名だけです。しかし、それらの権限に何か問題があるように感じます。全員の読み取り/書き込み実行がオフになっているようです。このファイルはどのように作成されましたか?ユーザーnobody
がどのようにして作成したのですか?
権限を変更するPythonコード:
from getpwnam import pwd
from getgrnam import grp
import os
uid = getpwnam("YOUR_USERNAME")[2]
gid = grp.getgrnam("YOUR_GROUPNAME")[2]
os.chown("myPath/xFiles.bin.addr_patched", uid, gid)
Sudo
を使用してスクリプトを実行すると、完了です。
私の推測では、代わりにmyPath
フォルダーのアクセス許可を確認する必要があります。あなたがそれに書くことができないように思われる、それ故に問題。 ls -l myPath/..
を試して、myPath
の権限を確認してください。それが問題である場合は、chmod
を使用してフォルダーのアクセス許可を変更してください。
P.S.また、 Linuxファイルのアクセス許可 に関するGoogleの上位の結果を参照してください。
/Users/xxx/Pictures/Photos Library.photoslibrary
にアクセスしようとしてMac(10.14 Mojave)でpythonスクリプトを実行すると、この問題が発生しました。完全な解決策は http:// osxdaily .com/2018/10/09/fix-operation-not-permitted-terminal-error-macos /
概要:[システム環境設定]> [セキュリティとプライバシー]> [プライバシー]> [フルディスクアクセス]に移動し、IDEまたはpythonインタープリターをリストに追加します。