学习一下PDMS操作文件方法变迁过程。
旧方法读写文件
FILE 命令
没找到文档,有一个输出模型示例
file /d:\a.txt
output ce
term
OPENFILE 命令
语法:
OPENFILE <filename> <mode> <token>
示例:
openfile /d:\a.txt read !fp
释义:
- filename
需要操作的文件名, 有两种写法,第二种用于路径出现空格的情况。- /d:\a.txt
- "d:\my folder\a.txt"
- mode
操作模式,有以下三种- READ 只读
文件必须存在,否则抛出文件不存在异常 - WRITE 追加
若文件不存在则自动新建 - OVERWRITE 覆盖
若文件不存在则自动新建
- READ 只读
- token
文件标识符,用一个变量来表示,方便后面 readfile/writefile/closefile 调用
内容就是 1 2 3 4 数字
READFILE 命令
语法:
READFILE <token> <variable>
示例:
读取一行数据到变量 text,读到最后一行将抛出异常。
readfile $!fp !text
WRITEFILE 命令
语法:
WRITEFILE <token> <text>
示例:
writefile $!fp |hello world|
CLOSEFILE 命令
语法
CLOSEFILE <token>
示例:
closefile $!fp
虽然以下命令也可以,但是尽量不要这样,因为你不知道关闭哪一个
closefile 1
完整示例
!filename = '/d:\test.txt'
openfile $!filename overwrite !fp
writefile $!fp |hello world|
closefile $!fp
旧方法文件信息查询
FILE
直接查询文件信息
语法:
Q FILE <filename> <att>
OPENFILE
查询已打开的文件信息
Q OPENFILE <token> <att>
释义:
att
属性 | 备注 |
---|---|
NAME | 文件名 |
MODE | 打开状态 |
FULLName | 文件名 |
ENTRY | 没有路径的文件名 |
SIZE | 大写 |
DTM | 修改时间 |
OWNER | 作者 |
LOCK | 是否被索 |
SORT | 是什么,文件、文件夹、链接 |
新方法(可能是对旧方法的封装)
此处仅作示例,更多请F1
写
!fp = object file('d:\a.txt')
!lines = object array()
!lines.append('hello')
!lines.append('world')
!fp.writefile('OVERWRITE',!lines)
!fp.close()
读
!fp = object file('d:\a.txt')
!lines = !fp.readfile()
!fp.close()
q var !lines