由於經常用python寫指令碼,將路徑操作的一些api做了總結,方便以後查詢
#!/usr/bin/python
# -*- coding:utf-8 -*-
import os
import sys
import shutil
# python路徑操作整理
# 遞迴遍歷資料夾
deflistfiles
(dirpath):
filelist=
for root,dirs,files in os.walk(dirpath):
for fileobj in files:
print fileobj
return filelist
# 獲取當前路徑資料夾
defcur_file_dir
():#獲取指令碼路徑
path = sys.path[0]
if os.path.isdir(path):
return path
elif os.path.isfile(path):
return os.path.dirname(path)
# 替換文字內容
defreplacestrinfile
(filepath, oldstr, newstr):
if os.path.exists(filepath) == false:
print filepath + "不存在"
sys.exit(1)
input_file = open(filepath, 'r')
lines = input_file.readlines()
content = ""
for line in lines:
if oldstr in line:
line = line.replace(oldstr, newstr)
content += line
input_file.close()
try:
out_file = open(filepath, "w")
out_file.writelines(content)
out_file.close()
except exception, e:
print
"沒有許可權" + filepath
#path 為乙個路徑,輸出,把path分成兩部分,具體看例項:
print os.path.split("abc/de.txt")
#('abc', 'de.txt')
print os.path.split("abc")
#(", 'abc')
#把檔名分成檔名稱和副檔名
# os.path.splitext("abc/abcd.txt")
# ('abc/abcd', '.txt')
#把目錄名提出來
print
"dirname:"+os.path.dirname("user/abc")
#輸出為空
print
"def dirname:"+os.path.dirname('def')
#abc
print
"abc basename:"+os.path.basename('abc')
# abc
print
"user/abc.txt basename:"+os.path.basename('user/abc.txt')
# abc
print os.path.basename('bcd/abc')
# abc #這個需要注意不包括目錄名稱
print
". basename: "+os.path.basename('.')
#把檔案src內容拷貝到檔案dst中。,目標區域必須可以寫,如果dst存在,則dst被覆蓋
#shutil.copy("src","dst")
#智慧型化地連線乙個或多個路徑元件。如果任一元件是乙個絕對路徑,所有前面的元件被丟棄(在
print os.path.join("abc","cds.txt")
print os.path.join("abc","use/cds.txt","de")
# 遞迴拷貝資料夾
defcopytree
(src, dst, symlinks=false):
if os.path.exists(dst):
shutil.rmtree(dst)
names = os.listdir(src)
ifnot os.path.isdir(dst):
os.makedirs(dst)
for name in names:
srcname = os.path.join(src, name)
dstname = os.path.join(dst, name)
if symlinks and os.path.islink(srcname):
linkto = os.readlink(srcname)
os.symlink(linkto, dstname)
elif os.path.isdir(srcname):
copytree(srcname, dstname, symlinks)
else:
shutil.copy(srcname, dstname)
python 常用方法 路徑處理
import os os.getcwd 獲取當前路徑 os.walk path 獲取乙個元組 起始的路徑,路徑下的資料夾,起始路徑下的檔案 第乙個為起始路徑,第二個為起始路徑下的資料夾,第三個是起始路徑下的檔案。遍歷資料夾下面的某種格式的檔案 比如txt for path,dics,files in...
python的常用路徑操作函式
使用python經常會遇到與檔案處理相關的問題,與檔案相關的操作自然離不開檔案路徑的處理。在python的os.path模組中提供了一些與檔案路徑處理相關的函式。返回檔案的路徑和檔名,返回的檔名與使用basename 返回的檔名一樣。dirname,filename os.path.split ho...
Python 操作redis 常用方法
python 操作redis 1.字串 usr bin env python coding utf 8 import redis python 操作str class teststring object set 設定值 get 獲取值 mset 設定多個鍵值對 mget 獲取多個鍵值對 del 刪除...