subprocess.check_call генерирует FileNotFoundError, даже если файл существует - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь отредактировать проект frida-ios-dump, чтобы он действительно работал на моем P C, и в настоящее время я сталкиваюсь со странной проблемой, которая, я думаю, как-то связана с разрешениями.

chmod_dir = os.path.join(PAYLOAD_PATH, os.path.basename(dump_path))
chmod_args = ('chmod', '655', chmod_dir)
try:
    subprocess.check_call(chmod_args)
except subprocess.CalledProcessError as err:
    print(err)

Этот фрагмент кода здесь выдает эту ошибку: FileNotFoundError: [WinError 2] The system cannot find the file specified, но у меня было хорошее чувство, что этот файл действительно существует, поэтому я добавил следующее except:

except FileNotFoundError:
    print(chmod_dir)
    print("FileNotFound, yet path exists: " + str(os.path.exists(chmod_dir)))

И, как и предполагалось , файл существует! Мой код печатает FileNotFound, yet path exists: True, и так как я также напечатал путь, мы можем увидеть это здесь: C:\Users\Admin\AppData\Local\Temp\Payload\protobuf.fid и после ручного посещения этой папки я подтвердил, что файл действительно существует там.

У меня есть сильный Я чувствую, что это какая-то проблема с разрешениями, но я не уверен, что я мог бы сделать, чтобы это исправить.

Примечание: Сценарий Python запускается из Windows PowerShell, который в Ход был открыт с правами администратора.

...