读取写入文件
读取
fopen 提取两个字符串参数:
指示打开文件是进行读取 (“r”)、写入 (“w”) 还是附加 (“a”) 操作。
如果将“+”字符添加到模式字符,Maya 会打开文件进行读/写。如果省略此参数,默认进行读取。
fopen 返回文件控制柄。文件控制柄表示打开文件。应此值保存到变量中,以便能够使用 fprint 等其他命令处理打开的文件。
1
| $fileId = fopen($exampleFileName,"r");
|
读取一行(读取到下一个新行)。fgetline (fileID)
读取字词(读取到下一个空格)。fgetword (fileID)
读取单个值。fread (fileID,类型)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $fileId=fopen($exampleFileName,"r"); string $nextLine = `fgetline $fileId`; while ( size( $nextLine ) > 0 ) { print ( $nextLine ); $nextLine = `fgetline $fileId`; }
string $nextWord = `fgetword $fileId`; while ( !feof($fileId) ) { print ( $nextWord + "\n" ); $nextWord = fgetword($fileId); }
|
写入
使用打印命令的同等命令打印到文件。
fprint (fileID,字符串)
写入二进制数据。
fwrite (fileID,值)
1 2 3
| $fileId = fopen($exampleFileName,"w"); fprint($fileId,"Hello there\n"); fclose($fileId);
|
操纵文件
使用 sysFile 命令来执行文件上的常用文件系统操作。
删除文件
sysFile -delete “文件名”
重命名文件
sysFile -rename “文件名”“新名称”
移动文件
sysFile -move “文件名”“新名称”
复制文件
sysFile -copy “文件名”“新名称”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| sysFile -rename "C:/temp/mayaStuff/myScene.mb.trash" "C:/maya/projects/default/scenes/myScene.mb";
sysFile -rename "C:/temp/mayaStuff/myScene.will.be.deleted" "C:/temp/mayaStuff/myScene.mb.trash";
string $destWindows = "C:/temp/mayaStuff/myScene.mb.trash"; string $srcWindows = "C:/maya/projects/default/scenes/myScene.mb"; sysFile -copy $destWindows $srcWindows;
sysFile -delete "C:/temp/mayaStuff/myScene.will.be.deleted";
|
目录
更改当前工作目录。
chdir “path”
在目录中返回文件名的数组。
getFileList
创建新目录。
sysFile -makeDir “dirname”
1 2 3 4 5 6 7
| getFileList -folder `internalVar -userWorkspaceDir`;
string $scriptDir = `internalVar -userScriptDir`; string $scripts[] = `getFileList -folder $scriptDir -filespec "*.mel"`;
sysFile -makeDir "C:/temp/mayaStuff";
|