2013-01-07 2 views
3

SPSS 19를 사용하고 있으며 INSERT 명령을 사용하기위한 현재 작업 디렉토리를 얻고 싶습니다. 추가 구문 파일을 호출하고 싶습니다. 누군가 어떻게하는지 알고 있습니까?SPSS 작업 디렉토리 가져 오기

답변

3

스크립트 api를 사용하는 대신이 programmabilty apis를 사용할 수 있습니다.

시작 프로그램
수입 SPSS는
workingdir = spssaux.getShow ("디렉토리")
spss.Submit ("" "파일 핸들 CWD/NAME ="%의 S "." ""%의 workingdir)
단부 프로그램 spssaux.

이것은 cwd라는 파일 핸들을 정의합니다.

또한 INSERT에는 백엔드 작업 디렉토리를 FILE에 지정된 위치로 변경하는 CD 키워드가 있습니다.

HTH, 존 펙

+0

나는 CD 명령을 알고 있지만, 내 문제는 파일 핸들을 가리키는 유용한 장소를 찾는 것이 었습니다. 나는이 경로를 하드 코드하고 싶지 않았다 ... –

3

(.... 내가 SPSS라는 쓰레기의 더미를 사랑)이 (SpssClient.GetCurrentDirectory()) 파이썬 명령 것으로 보인다 그러나 그것은 횡설수설 에러 코드를 돌려 어떤 내가 작업 방법을 발견 인터넷 검색 후 :

BEGIN PROGRAM. 
import spss 
import SpssClient 
CONST_FHandleName = 'CurrentDir' 

#SpssClient.StartClient() /stop nötig, sonst gibt es Probleme mit dem zugriff auf SPSS 
try: 
    SpssClient.StartClient() 
    syntaxpath =SpssClient.GetDesignatedSyntaxDoc() 
       currentdir = os.path.dirname(syntaxpath.GetDocumentPath()) 
    FHandle="File handle " + CONST_FHandleName + " /name='" + currentdir + "'" 
finally: 
    SpssClient.StopClient() 
print "The FHandle Dir is now: " + currentdir 
print "The FHandle Dir is now: " + FHandle 

spss.Submit(FHandle) 
END PROGRAM. 

이 프로그램은 현재 구문 파일의 디렉토리를 가져 와서 디렉토리를 파일 핸들로 설정합니다. 물론 이것은 실제 작업 디렉토리는 아니지만 나에게 적합한 근사값입니다.

주의 : 분명히

spss.getworkingdirectory 반환 처음 시작 폴더 금지 - 위대한 활성 데이터 세트의 폴더 (만약 당신이 startet SPSS 먼저 다음 데이터 집합을로드 - 아직 홈 디렉토리를 가리 킵니다 SPSS 19 behavior ...)

2

내가 그것을 기본 디렉토리로 시작된 디렉토리를 설정하기 위해 SPSS (18)를 얻을 수 있었다. 편집> 옵션> 파일 위치를 선택하십시오. 데이터 파일 및 기타 파일 상자에 단일 기간을 입력하십시오. 데이터 또는 구문 파일을 클릭하여 SPSS를 시작할 때마다 현재 디렉토리, 즉 시작된 디렉토리로 기본 설정됩니다. 다른 버전에서는 SPSS18, ymmv에서 작동합니다.

덧붙여 말하자면, 같은 트릭이 Excel에서는 작동하지만 작동하는 다른 어플리케이션을 찾지 못했습니다. 제 생각에는 이것이 프로그램이 당신이 원하지 않는 디렉토리에 들어가기보다는 작동해야하는 방법입니다. 명령 CWD가 인식되지 않으면

+0

고마워요 - 그건 깔끔한 트릭입니다! –

1

SPSS V23에서 다운로드/CWD를 설치합니다 ('현재 작업 디렉토리') 확장,

CWD. 
SHOW DIRECTORY. 

을보십시오. 유틸리티> 확장 번들> 확장 번들 다운로드 및 설치를 선택하고 CWD를 검색하십시오.

관련 문제