操作終端相關的檔案控制代碼常量
os.stdin:標準輸入
os.stdout:標準輸出
os.stderr:標準錯誤輸出
關於終端操作的**例子:
package mainimport "fmt"var (
firstname,lastname,s string
i intf float32
input = "56.12/5212/go"format = "%f/%d/%s")
func main()
這裡需要用到乙個包:bufio
下面是**例子:
package mainimport (
"bufio"
"os"
"fmt")
var inputreader *bufio.reader
var input string
var err error
func main()
fmt.printf("the input was:%s\n",input)
}
從終端讀取一行字串,統計英文,數字,空格以及其他字元的數量
**實現:
package mainimport (
"fmt"
"bufio"
"os")
func judgecount(str string) else
if v >= '0' && v <= '9' else
if v == ' ' else
}fmt.println("英文本母的個數:", countletter)
fmt.println("數字的個數:", countnum)
fmt.println("空格的個數:", countspace)
//關於其他字元這裡進行減一是因為這裡多算了乙個換行符\n
fmt.println("其他字元的個數:", countother-1)
}func main()
judgecount(str)
}
os.file封裝所有檔案相關的操作
開啟乙個檔案進行讀操作:os.open(name string)(*file,error)
關閉乙個檔案:file.close()
關於檔案操作的乙個簡單例子:
package mainimport (
"os"
"fmt"
"bufio"
"io")
func main()
//這裡切記在開啟檔案的時候跟上defer 關閉這個檔案,防止最後忘記關閉
defer file.close()
inputreader :=bufio.newreader(file)
for
//下面會把每行的內容進行列印
fmt.printf("the input is:%s",inputstring)
}}
上面例子中關於讀檔案是一行一行的讀的,下面我們也可以一次性讀完整的檔案,但是切記如果檔案過大,這種方法不適用,這裡用到是io/ioutil包
package mainimport (
"io/ioutil"
"fmt")
func main()
fmt.printf("%s\n",string(buf))
}
關於讀取壓縮檔案的例子,這裡用到的是compress/gzip包
package mainimport (
"os"
"fmt"
"compress/gzip"
"bufio"
"io")
func main()
defer file.close()
reader,err :=gzip.newreader(file)
if err !=nil
bufreader :=bufio.newreader(reader)
forfmt.println("read file err",err)
break
}fmt.printf("%s",line)
}}
os.openfile("filename",os.o_wronly|os.o_create,066)
第乙個引數是檔名
第二個引數是檔案的開啟模式:
os.o_wronly:只寫
os.o_create:建立檔案
os.o_rdonly:唯讀
os.o_rdwr:讀寫
os.o_trunc:清空
第三個引數:許可權控制
r-->4
w-->2
x-->1
這裡和linux的是一樣的
關於寫入檔案的乙個例子,這裡寫了兩種方法一種是直接writestring方法,一種是通過bufio的方式:
package mainimport (
"os"
"fmt"
"bufio")
func testwritefile()
defer file.close()
for i:=0;i<10;i++
}func testwritebuf()
defer file.close()
bufiowrite :=bufio.newwriter(file)
for i:=0;i<10;i++
bufiowrite.flush()
}func main()
關於拷貝檔案的例子:
package mainimport (
"os"
"io")
func copyfile()(writen int64,err error)
defer src.close()
dst,err := os.openfile("dst.txt",os.o_wronly|os.o_create,0644)
if err!=nil
defer dst.close()
return io.copy(dst,src)
}func main()
os.args是乙個string的切片,用來儲存所有命令列的引數
但是通過這種方式獲取引數有點笨拙,並且需要做很多的判斷,我們可以通過go裡面的flag包來做,**例子如下:
package mainimport (
"fmt"
"flag")
var(
conf string
level
int)
func init()
func main()
fmt.printf("conf is :%s\n",conf)
fmt.printf("level is :%d\n",level)
}
上面的例子設定了預設引數,如果我們想自定義引數在執行的時候新增 -c=內容 -l=內容 ,就可以用我們通過命令列引數傳入的值進行處理
PHP目錄操作和檔案操作
php 操作目錄 1,目錄操作概述 2,建立新目錄 mkdir 新建乙個由pathname指定的目錄,建立成功方式ture,否則為false bool mkdir string pathname,int mode 0777,bool recursive false pathname 指定目錄的路徑 ...
PHP的目錄操作和檔案操作
一 引論 在任何計算機裝置中,檔案是都是必須的物件,而在web程式設計中,檔案的操作一直是web程式設計師的頭疼的地方,而,檔案的操作在cms系統中這是必須的,非常有用的,我們經常遇到生成檔案目錄,檔案 夾 編輯等操作,現在我把php中的這些函式做一詳細總結並例項示範如何使用.關於對應的函式詳細介紹...
Python的檔案操作和檔案處理
2 檔案的相關操作 2 檔案的讀寫 3 二進位制檔案的讀寫 3 檔案和資料夾的操作 1 資料夾的操作 使用檔案的目的是儲存資料放在磁碟 將資料儲存起來,可以使程式下一次執行時直接使用,不必重新製作 1 開啟檔案 在python中,使用open函式,可以開啟乙個已經存在的檔案,或者建立乙個新檔案ope...