open (AutoLISP)

AutoLISP の入出力関数がアクセスできるようにファイルを開きます。

サポートされているプラットフォーム: Windows および Mac OS

構文と要素

(open filename mode)
filename

タイプ: 文字列

開くファイルの名前と拡張子。ファイルの絶対パスを指定しなかった場合、AutoCAD の既定の図面フォルダを指定したものとみなされます。

mode

タイプ: 文字列

ファイルを読み込みモード、書き出しモード、追加モードのいずれで開くかを指定します。次の文字のいずれか 1 つを含む文字列を指定してください。

r 読み込みモードで開きます。

w 書き出しモードで開きます。filename 引数のファイルが存在しない場合、新しいファイルが作成され、開かれます。filename 引数のファイルが既に存在する場合、既存のデータが上書きされます。開いたファイルに渡されたデータは、close 関数でそのファイルを閉じるまで、実際には書き出されません。

a 追加モードで開きます。filename 引数のファイルが存在しない場合、新しいファイルが作成され、開かれます。filename 引数のファイルが存在する場合、開いた後ポインタが既存のデータの終わりに移動するので、ファイルに書き出される新しいデータは既存のデータの後ろに追加されます。

mode 引数は、大文字でも小文字でもかまいません。AutoCAD 2000 より前のリリースでは、mode 引数は小文字でなければならなかったことに注意してください。

戻り値

タイプ: ファイルまたは nil

ファイルを正常に開くことができた場合、open 関数は、他の入出力関数で使用可能なファイル ディスクリプタを返します。mode 引数に"r" が指定され、filename 引数のファイルが存在しない場合、open 関数は nil を返します。

Windows

次のように、既存のファイルを開きます。

(setq a (open "c:/datafiles/filelist.txt" "r"))
#<file "c:/datafiles/filelist.txt">

次の例は、存在しないファイルに対して open 関数を実行しています。

(setq f (open "c:\\my documents\\new.tst" "w"))
#<file "c:\\my documents\\new.tst">

(setq f (open "nosuch.fil" "r"))
nil

(setq f (open "logfile" "a"))
#<file "logfile">
Mac OS

次のように、既存のファイルを開きます。

(setq a (open "/datafiles/filelist.txt" "r"))
#<file "/datafiles/filelist.txt">

次の例は、存在しないファイルに対して open 関数を実行しています。

(setq f (open "/my documents/new.tst" "w"))
#<file "/my documents/new.tst">

(setq f (open "nosuch.fil" "r"))
nil

(setq f (open "logfile" "a"))
#<file "logfile">