好轉,學會以下操作就很容了。
得到當前工作目錄,即當前python指令碼工作的目錄路徑:os.getcwd()
返回指定目錄下的所有檔案和目錄名:os.listdir()
函式用來刪除乙個檔案:os.remove()
刪除多個目錄:osremovedirs(r"c:\python") //略危險,熟練之後再用吧
檢驗給出的路徑是否是乙個檔案:os.path.isfile() //經常會用
檢驗給出的路徑是否是乙個目錄:os.path.isdir() //經常會用
判斷是否是絕對路徑:os.path.isabs()
檢驗給出的路徑是否真實存在:os.path.exists()
返回乙個路徑的目錄名和檔名:os.path.split()
例:import os
os.path.split('/home/swaroop/byte/code/poem.txt')
結果為:('/home/swaroop/byte/code','poem.txt') //就是把路徑和檔案
名分別列出來顯得更加清楚
分離副檔名:os.path.splitext()
獲取路徑名:os.path.dirname()
獲取檔名:os.path.basename()
執行shell命令:os.system()
讀取和設定環境變數:os.getenv()與os.putenv()
給出當前平台使用的行終止符:os.linesep windows使用'\r\n',linux使
用'\n'而mountainlion使用的是'\r'
顯示你正在使用的平台:os.name 對於windows,他是'nt',而對於linux/unix
,他是'posix'
重新命名:os.rename(old,new)
建立多集目錄:os.makedirs(r"c:\python\test")
建立單個目錄:os.mkdir("test")
獲取檔案屬性 os.stat(file)
修改檔案許可權和時間戳:os.chmod(file)
終止當前程序:os.exit() 可用
獲取檔案大小:os.path.getsize(filename)
檔案操作:
os.mknod("test.txt") 建立空檔案
fp = open("test.txt",w) 直接開啟乙個檔案,如果檔案不存在則建立檔案
關於open/file的模式:
w 以寫的方式開啟
a 以追加的模式開啟(從eof開始,必要時建立新檔案)
r+ 以讀寫模式開啟
w+ 以讀寫模式開啟 //據說不好用
a+ 以讀寫模式開啟 //我比較喜歡用,讀寫開啟後追加
rb 以二進位制讀模式開啟
wb 以二進位制寫模式開啟
ab 以二進位制追加模式開啟
rb+ 以二進位制讀寫模式開啟
wb+ 以二進位制讀寫模式開啟
ab+ 以二進位制讀寫模式開啟
fp.read([size]) //size 為讀取長度,以byte為單位
fp.readline([size]) //讀一行,如果定義了size,有可能返回的只是一行的一
部分fp.write(str) //把str寫到檔案中,write()並不會在str後加上乙個換行符
fp.writelines(seq) //把seq的內容全部寫到檔案中(多行一次性寫入)。這個
函式也只是忠實地寫入,不會在每行後面加任何東西
fp.close()
fp.flush() //把緩衝區的內容寫入硬碟
fp.fileno() //返回乙個長整形的「檔案標籤」
fp.isatty() //檔案是否是乙個終端裝置檔案(unix系統中的)
fp.tell() //返回當前位置,比如:
fp = open("zhige.txt",'a+') 裡的內容為zhigedahaoren
fp.read(3)
c = fp.tell()
print c //會返回顯示zhigedahaoren裡的第三個字母i
fp.next() //返回下一行,並將檔案操作標記位移動到下一行
把乙個file用於for...in file 這樣的語句時,就是呼叫next()函式來實現遍歷
的fp.seek(offset[,whence]) //講檔案的游標移動到offset的位置和tell搭配
做實驗看比較明顯
fp.truncate([size]) //把檔案裁成規定的大小,預設的是裁到當前檔案操
作座標的位置。如果size比檔案大小還要大,依據系統的不同,可能是不改變文
件,也可能是用0把檔案補到相應的大小,也可能是以一些隨機的內容加上去。
目錄操作: //感覺可以用 os.system('')裡寫shell完成
os.mkdir("file") 建立目錄
複製檔案:
shutil.copyfile("oldfile","newfile") //oldfile和newfile都智慧型是檔案
shutil.copy("oldfile","newfile") //oldfile只能是檔案,newfile可
以是檔案,也可以是目標目錄
複製資料夾:
shutil.copytree("olddir","newdir") //olddir和newdir都只能是目錄,
且newdir必須不存在
重新命名檔案(目錄):
os.rename("oldname","newname") //檔案或目錄都是這條命令
移動檔案(目錄)
shutil.move("oldpos","newpos")
刪除檔案
os.remove("file")
刪除目錄:
os.rmdir("dir") //只能刪除空目錄
shutil.rmtree("dir") //空目錄,有內容的目錄都可以刪
轉換目錄:
os.chdir("path") //更換路徑
一些詳解:
seek(offset,where): where=0從起始位置移動,1從當前位置移動,2
從結束位置移動。當有換行時,會被換行截斷。seek()無返回值,故值為none。
tell(): 檔案的當前位置,即tell是獲得檔案指標的位置,受
seek,readline,read,readlines影響,不受truncate影響
truncate(n):從檔案的首行字元開始截斷,截斷檔案為n個字元;無n
表示從當前位置起截斷;階段之後n後面的說有字數被刪除。其中win下的換行代
表2個字元大小。
readline(n):讀入若干行,n表示讀入的最長位元組數。其中讀取的開始
位置為tell()+1。當n為空時,預設唯讀當前行的內容
readlines 讀入所有行內容
read 讀入所有行內容
通達信系統預設顏色
系統預設 紅r 綠g 藍b 1 colorwhite 白色 255 255 255 2 coloryellow 黃色 255 255 0 3 colormagenta 洋紅色dao 255 0 255 4 colorgreen 綠色 0 255 0 5 colorligray 淺灰色 192 192...
通達信日線 資料格式
一 通達信日線 day檔案 檔名即 每32個位元組為一天資料 每4個位元組為乙個字段,每個欄位內低位元組在前 00 03 位元組 年月日,整型 04 07 位元組 開盤價 1000,整型 08 11 位元組 最 1000,整型 12 15 位元組 最低價 1000,整型 16 19 位元組 價 10...
pandas 實現通達信裡的MFI
利用pd.series的combine 方法,可以對給定的兩個序列執行元素級的操作.該方法的簽名為 series.combine self,other,func,fill value nan 這裡的func引數通常是乙個lambda表示式 比如 lambda x1,x2 1.0 if x1 x2 e...