日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

临时文件_Go语言学习基础-文件路径、目录、临时文件和目录

發布時間:2025/3/15 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 临时文件_Go语言学习基础-文件路径、目录、临时文件和目录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

File Path 文件路徑

filepath包提供了解析和構造文件路徑的函數,這種方法在操作系統之間是兼容的;例如,Linux上的dir/file與Windows上的dirfile都可以有效識別。

使用Join方法構造路徑,它接受任意數量的參數來構造路徑的層次結構。應該始終使用Join方法連接路徑,而不是手動連接。除了提供兼容性外,Join方法還將通過刪除多余的分隔符和目錄規范路徑。

Dir函數和Base函數可用于分割指路徑為目錄和文件名。函數Split則則可以同時返回兩者。

我們可以檢查路徑是否為絕對路徑。

某些文件名帶有擴展名,可以使用函數Ext將擴展名從文件名中分離出來。通過刪除擴展名獲得文件基名,請使用strings.TrimSuffix。

函數Rel在兩個目標之間查找相對路徑,如果沒有,則返回一個錯誤。

結果:

$ go run file-paths.go

p: dir1/dir2/filename

dir1/filename

dir1/filename

Dir(p): dir1/dir2

Base(p): filename

false

true

.json

config

t/file

../c/t/file

Directorie 目錄

Go有幾個有用的函數來處理文件系統中的目錄。

函數os.Mkdir在當前工作目錄中創建一個新的子目錄。如果是臨時目錄,最好推遲刪除它們,函數os.RemoveAll將刪除整個目錄樹(類似于rm -rf)。

ioutil.WriteFile函數創建新的空文件。

我們可以創建目錄層次結構,函數os.MkdirAll創建路徑上的所有目錄,這與命令行mkdir -p類似。

函數ioutil.ReadDir列出目錄內容,返回os.FileInfo對象列表的切片。

函數os.Chdir允許我們更改當前工作目錄,類似于命令行cd。

我們還可以遞歸地訪問目錄,包括所有子目錄。函數filepath.Walk的回調函數用于處理訪問的每個文件或目錄,程序中filepath.Walk遞歸地為每個文件或目錄調用visit。

結果:

$ go run directories.go

Listing subdir/parent

child true

file2 false

file3 false

Listing subdir/parent/child

file4 false

Visiting subdir

subdir true

subdir/file1 false

subdir/parent true

subdir/parent/child true

subdir/parent/child/file4 false

subdir/parent/file2 false

subdir/parent/file3 false

Temporary File and Directorie 臨時文件和目錄

在程序執行過程中,我們通常希望創建一在程序退出后不需要的數據。臨時文件和目錄對于這個目的很有用,因為它們在程序使用過后不會污染文件系統。

創建臨時文件最簡單的方法是調用ioutil.TempFile,它創建并打開一個文件進行讀寫。第一個參數為空字符串"",因此ioutil.TempFile將在操作系統的默認位置創建臨時文件。

方法Name顯示臨時文件的名稱。

在類Unix系統,臨時目錄可能是/tmp。ioutil.TempFile的第二個參數為臨時文件名的前綴,其余部分則自動產生,以確保并發創建時始終使用不同的文件名。

os.Remove推遲調用用于在使用完臨時數據后清理文件。操作系統很可能會在一段時間后自行清理臨時文件,但最好顯式地這樣做。

方法Write向文件中寫入一些數據。

如果要創建許多臨時文件,則可以創建一個臨時目錄用于放置它們。ioutil.TempDir的參數與ioutil.TempFile的參數相同,但是它返回一個目錄對象,而不是文件對象。

結果:

$ go run temporary-files-and-directories.go

Temp file name: /tmp/sample610887201

Temp dir name: /tmp/sampledir898854668

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的临时文件_Go语言学习基础-文件路径、目录、临时文件和目录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。