मैं विंडोज पर किसी अन्य प्रोग्राम से एसएएस प्रोग्राम को कॉल करना चाहता हूं। मेरे पास बैच मोड में कमांड लाइन से एसएएस का आह्वान करने का कुछ अनुभव है, लेकिन इससे संदेश प्राप्त करने और उन संदेशों को संभालने का कोई वास्तविक अनुभव नहीं है। मैंने एसएएस कार्यक्रम के भीतर से स्टडीन से पढ़ने के बारे में काफी जानकारी प्राप्त की है, लेकिन मुझे लगता है कि मेरे एसएएस प्रोग्राम को stdout या stderr पर लिखने का तरीका नहीं पता लग रहा है। क्या मैं विंडोज़ में भी ऐसा कर सकता हूं? ,विंडोज में एसएएस से stdout और stderr कैप्चर करें?
- पुनर्निर्देशन चेतावनी संदेश और त्रुटि संदेश उन्हें लॉग फ़ाइल
- एसएएस कार्यक्रम के भीतर करने के लिए मुद्रण के बजाय stderr करने के लिए मैन्युअल रूप से त्रुटियों का पता:
एसएएस कार्यक्रम से, मैं निम्नलिखित करना चाहते हैं और/या अन्य मुद्दों और उन्हें stderr या stdout करने के लिए आउटपुट। कर रहे हैं
import subprocess import os if __name__ == '__main__': filename = os.path.normpath(r'C:\Users\oob\Desktop\sas_python_test.sas') sas_executable = os.path.normpath(r'C:\Program Files\SAS\SASFoundation\9.2\sas.exe') cmd = r'"' + sas_executable + r'"' + " " + r'"' + filename + r'"' p = subprocess.Popen(cmd,shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE) print p.communicate()
इस से कंसोल पर मेरे परिणाम:
एसएएस
data test; attrib i length=8; do i = 1 to 10; put 'putting'; *how can i make this go to stdout?; putlog 'putting to log'; *this can go to the log - that is okay; if i = 5 then do; *pretend this is an error I am manually detecting - how can i make this go to stderr?; put 'we found 5'; end; output; end; run; data _null_; 1 = y; *this is an error detected by SAS. How can I make this go to stderr?; run;
अजगर कि एसएएस कॉल:
यहाँ मैं क्या कोशिश की है है
('', '')
मैंने कभी एसएएस का उपयोग नहीं किया है, लेकिन क्या यह एक कंसोल ऐप है? हो सकता है कि यह stdout/stderr के लिए हैंडल नहीं हो सकता है। उस स्थिति में PyWin32 के 'win32com' मॉड्यूल को [OLE का उपयोग कर स्वचालित एसएएस] को आजमाएं [http://support.sas.com/documentation/cdl/en/hostwin/63285/HTML/default/viewer.htm#oleauto.htm)। – eryksun
यहां अज्ञात पाइप का उपयोग करने के बारे में एसएएस दस्तावेज का एक लिंक है जो सहायक हो सकता है: http://support.sas.com/documentation/cdl/en/hostwin/63285/HTML/default/viewer.htm#unnamed.htm – RWill