python路徑操作常用方法

2021-07-28 06:44:15 字數 2699 閱讀 3872

由於經常用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 刪除...