CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

打开(AutoLISP)

2023-1-7 18:27| 发布者: admin| 查看: 218| 评论: 0|来自: AutoCAD

摘要: 打开文件以供 AutoLISP I/O 函数访问

打开文件以供 AutoLISP I/O 函数访问

支持的平台:视窗和 Mac OS

签名

(open filename mode [encoding])
文件名

类型:字符串

要打开的文件的名称和扩展名。如果未指定文件的完整路径名,则假定您引用的是 AutoCAD 默认图形目录。open

模式

类型:字符串

指示文件是打开以进行读取、写入还是追加。指定包含以下字母之一的字符串:

r打开阅读。

w开放写作。如果文件名不存在,则创建并打开一个新文件。如果文件名已存在,则覆盖其现有数据。传递到打开文件的数据实际上不会写入,直到使用函数关闭文件。close

一个打开以供追加。如果文件名不存在,则创建并打开一个新文件。如果文件名已存在,则会打开它,并将指针定位在现有数据的末尾,因此写入文件的新数据将追加到现有数据中。

mode参数可以是大写或小写。

注意:在 AutoCAD 2000 之前,模式必须以小写形式指定。
编码

类型:字符串

指示读取文件时要使用的字符编码。如果未为参数提供值,则假定文件包含多字节字符集 (MBCS),这是旧行为。

使用以下值之一指定不同的字符编码:

UTF8UTF-8

UTF8-BOM带字节顺序标记的 UTF-8

返回值

类型:文件或无

如果成功,则返回可由其他 I/O 函数使用的文件描述符。如果指定了模式并且文件名不存在,则返回。open"r"opennil

发布信息

    释放:

  • Windows 上的 AutoCAD R12 及更高版本
  • Mac OS 上的 AutoCAD 2011 及更高版本

历史

    AutoCAD 2021

  • filename参数以前接受 ASCII 文本字符串,但现在接受 Unicode 文本字符串。
  • encoding参数是新添加的。
  • LISPSYS 系统变量控制使用哪个 AutoLISP 引擎以及函数的行为。
    • 0 - ASCII 字符支持和无参数(旧行为)encoding
    • 1 或 2 - Unicode 字符支持
    注意:更改 LISPSYS 系统变量的值后,必须重新启动 AutoCAD 才能使更改生效。

    AutoCAD 2000

  • mode参数以前只接受小写值。

例子

窗户

打开现有文件:

(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">
苹果操作系统

打开现有文件:

(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">

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 11:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部