#python #subprocess
Вопрос:
В моем скрипте python я пытаюсь изменить разрешения csv — файла после завершения записи в него. Но мой подпроцесс.вызов завершается с ошибкой FileNotFoundError: [Errno 2] No such file or directory: 'chmod': 'chmod'
Пожалуйста, помогите мне здесь узнать, что я делаю не так.
Ошибка
File "/usr/lib64/python3.6/subprocess.py", line 1364, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'sudo': 'sudo'
Код на Python:
def create_responsecsv(batchid,fname):
try:
connection = connect_DB()
cur = connection.cursor()
ids = str(batchid)
sql = "SELECT query here WHERE SOME_ID= " ids
print(sql)
cur.execute(sql)
rows = cur.fetchall()
logging.info('rows',rows)
if rows:
response_filename = fname.replace("RQ","RS")
file_path=cfg.XFBFolderResponse
file_name=response_filename
actual_file=file_path file_name
writer = csv.writer(open(cfg.XFBFolderResponse response_filename,"w"))
writer.writerow(['Old Device id','Old Company','New Item id','New Item','Device Type','New Item IP Address','Status'])
for x in rows:
writer.writerow(x)
subprocess.call(['chmod', '0777', actual_file])
except cx_Oracle.Error as e:
print(e)
Ответ №1:
Как насчет chmod ? Почему ты должен бежать subprocess.call(...)
os.chmod(actual_file, 0o0777)
Комментарии:
1. извините, @balderman, это код обслуживания… в чем разница между ними двумя? должен ли я сразу использовать ОС?
2. @raikumardipak если у вас есть встроенное решение на python-какой смысл разветвлять внешний процесс?