Способ надежно дать пароль приложению R от терминала?

Делает R, имеют функцию, которая позволяет пользователю обеспечивать пароль надежно, такой как Python getpass модуль?

(см. http://docs.python.org/library/getpass.html для примера того, что я имею в виду),

34
задан smci 4 April 2018 в 20:27
поделиться

1 ответ

Проблема в том, что у R нет функций для управления терминалом, в котором он запущен (что-то вроде Rncurses); вероятно, это связано с проблемами переносимости.
Некоторое время назад я бился над той же проблемой и в итоге получил функцию, использующую TclTk:

getPass<-function(){  
  require(tcltk);  
  wnd<-tktoplevel();tclVar("")->passVar;  
  #Label  
  tkgrid(tklabel(wnd,text="Enter password:"));  
  #Password box  
  tkgrid(tkentry(wnd,textvariable=passVar,show="*")->passBox);  
  #Hitting return will also submit password  
  tkbind(passBox,"<Return>",function() tkdestroy(wnd));  
  #OK button  
  tkgrid(tkbutton(wnd,text="OK",command=function() tkdestroy(wnd)));  
  #Wait for user to click OK  
  tkwait.window(wnd);  
  password<-tclvalue(passVar);  
  return(password);  
}  

Конечно, она не будет работать в средах, отличных от GUI.

27
ответ дан 27 November 2019 в 17:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: