最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

2022年的 Tcl/Tk 編程入門參考 12.文件系統(tǒng)

2022-05-06 10:17 作者:象喻  | 我要投稿

編程語言的文件系統(tǒng)功能幾乎都依托于操作系統(tǒng),而大部分語言都可以在多種操作系統(tǒng)中使用,所以能用同樣的代碼在不同系統(tǒng)中進行相同的操作。但是很遺憾,語言之間并沒有對同類功能的命令、函數(shù)、方法進行統(tǒng)一,所以每種語言都要重新學(xué)一遍。實際上早在上個世紀就有公司開發(fā)過跨語言擴展庫,不同的語言只要引入同名擴展庫,就能用近似的代碼對常見功能編程(當然,語法部分是不同的)。但由于都是商業(yè)化產(chǎn)品,跟語言開發(fā)組無關(guān),每次語言升級也不一定能平滑更新,可靠性得不到保障(畢竟那個時代,語言本身還一堆Bug),最后就都自生自滅了。

Tcl語言在不同操作系統(tǒng)上的差異主要是文件路徑方面,具體請查看官方文檔:

Tcl/Tk文檔 > Tcl Commands > filename

· TCL語言內(nèi)部使用Unix風(fēng)格的文件路徑
· 支持絕對路徑和相對路徑(包括文件卷)
· 跨平臺程序應(yīng)使用file命令進行路徑拼接
· Win形式需連寫兩個 \ ,比如 C:\\Users\\name


工作文件夾

Tcl語言有默認的工作文件夾(也叫工作目錄),也就是文件操作類代碼生效的文件夾(比如創(chuàng)建文件之類),并且要注意,工作文件夾并不一定是源代碼所在的位置。所以文件系統(tǒng)操作之前,先設(shè)置工作文件夾是很有必要的。

pwd

該命令返回當前的工作文件夾

cd

設(shè)置工作文件夾

· 不設(shè)定參數(shù)時,直接切換到用戶目錄 · 支持絕對路徑和相對路徑 · 中等規(guī)模程序不應(yīng)多次使用該命令,很容易出錯 · 多線程程序中,切換操作對所以線程都生效


文件列表

glob:以列表形式返回符合條件的文件名

用法:glob ??預(yù)設(shè)參數(shù)? ??篩選條件 ...?

· 篩選條件與 string match 規(guī)則一樣(*號、?號…) · 跨平臺程序要注意 glob 在各系統(tǒng)上的差別 · 默認情況下,沒有適合的文件會報錯 · 返回的列表,可以進一步處理,比如 lsort 排序

預(yù)設(shè)參數(shù):

-directory 返回指定目錄文件列表

-path 返回以指定路徑開頭的文件列表

-tails 搭配上面兩個參數(shù)使用,只返回文件名

-type 參數(shù) (也可以寫 -types ) ?以特定模式篩選文件/子文件夾

d 文件夾, f 文件, s 套接字socket,r-可讀, w-可寫, x-可執(zhí)行, readonly-只讀, hidden-隱藏

似乎是Unix系專用參數(shù):b 塊設(shè)備,c 字符設(shè)備,l 軟鏈接,p 命名管道

?



file命令

文件系統(tǒng)相關(guān)功能大雜燴

文件操作

file copy 復(fù)制文件

file delete 刪除文件或目錄

file mkdir 創(chuàng)建目錄

file rename 重命名或移動文件/目錄

file tempfile 創(chuàng)建臨時文件,并返回該文件通道(讀寫)的名稱


?



屬性信息

file atime 以Unix時間戳形式,返回/設(shè)置文件的訪問時間

file mtime 以Unix時間戳的形式返回文件的修改時間

file size 以字節(jié)為單位,返回文件體積(用于目錄時,返回0)

file system 返回文件所屬的文件系統(tǒng)

file attributes 返回/設(shè)置文件屬性信息(不同操作系統(tǒng)有差異)

file stat 把文件/符號鏈接的信息保存在數(shù)組里

file lstat 在支持的系統(tǒng)上返回符號鏈接的信息(鏈接本身,不是鏈接指向的文件),在不支持的系統(tǒng)上,作用與file stat相同。Win平臺從Vista開始支持(僅限NTFS文件系統(tǒng))


?



路徑處理

file dirname 返回文件路徑里,去除最后一個元素外的內(nèi)容

file extension 嘗試返回文件擴展名(路徑里最后一個點和后面的內(nèi)容),否則返回空字符

file join 把多個字符串組合成路徑(出現(xiàn)/時,前面不能被組合的部分會丟棄)

file split 拆分文件路徑

file nativename 返回當前操作系統(tǒng)的本地化路徑

file normalize 返回文件的絕對路徑(即:把相對路徑轉(zhuǎn)換為絕對路徑)

file rootname 去掉文件路徑末尾的后綴名

file tail 返回文件路徑中最后的部分

file separator 返回本地系統(tǒng)的路徑分隔符

?



識別&驗證

file exists 文件是否存在

file executable 驗證文件是否為可執(zhí)行程序

file isdirectory 文件或目錄名

file isfile 文件或目錄名

file readable 當前用戶是否有讀取權(quán)限

file writable 當前用戶是否有寫入權(quán)限

file owned 是否為文件所有者

file type 驗證目標是目錄還是文件,Unix/Linux上還可能是socket套接字

file pathtype 返回文件路徑形式:absolute絕對路徑、relative相對路徑、volumerelative卷相對路徑

?



其它

file link:創(chuàng)建Unix文件鏈接(win系統(tǒng)可以創(chuàng)建目錄鏈接/NTFS文件鏈接)

file readlink 返回符號鏈接所指向的文件

file channels 返回通道名(默認以列表形式返回全部通道)

file volumes 返回已經(jīng)掛載的文件卷,win平臺返回盤符

?




2022年的 Tcl/Tk 編程入門參考 12.文件系統(tǒng)的評論 (共 條)

分享到微博請遵守國家法律
西丰县| 黄梅县| 东乡县| 左权县| 昔阳县| 屏边| 红安县| 永定县| 手游| 屏南县| 大宁县| 濮阳县| 古蔺县| 安新县| 无棣县| 重庆市| 雅江县| 高邑县| 高雄县| 万山特区| 扬州市| 白河县| 荔浦县| 大洼县| 临朐县| 连山| 团风县| 大新县| 馆陶县| 罗定市| 神池县| 苏尼特左旗| 道孚县| 绥阳县| 多伦县| 武城县| 罗甸县| 交城县| 东城区| 澄城县| 延庆县|