一些os方法:
os.sep 根据你所处的平台,自动地采用相应的分割符号。举例:Linux下一个路径, /usr/share/python,那么上面的 os.sep 就是 / ,Windows下一个路径, C:\Users\Desktop, 那么上面的 os.sep 就是 \ 。
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
os.listdir(path)返回指定路径下的文件和文件夹列表。
遍历整个当前目录下的所有文件和目录
def walkFile(file):
for root, dirs, files in os.walk(file):
# root 表示当前正在访问的文件夹路径
# dirs 表示该文件夹下的子目录名list
# files 表示该文件夹下的文件list
# 遍历文件
for f in files:
print(os.path.join(root, f))
# 遍历所有的文件夹
for d in dirs:
print(os.path.join(root, d))
解压zip文件
for zipFile in os.listdir(filePath):
if '.zip' in zipFile:
//解压文件的路径+文件名
zip_obj = zipfile.ZipFile(filePath+os.sep+zipFile, 'r', zipfile.ZIP_DEFLATED)
//解压到指定路径下
zip_obj.extractall(tarFileDir)
zip_obj.close()
解压tar文件
for tarFile in os.listdir(tarFileDir):
if '.tar' in tarFile:
//文件目录
t = tarfile.open(tarFileDir + os.sep + tarFile)
//解压路径
t.extractall(logFileDir)
t.close()
读取tsv文件
按行输出,以元组形式
csvFile = open(file_path, "r")
reader = csv.reader(csvFile)
rows= [row for row in reader]
next(reader)//读取下一行
column = [row[1] for row in reader]读取一列
sftp远程连接# 建立远程连接
t = paramiko.Transport(ip, port)
t.connect(username="***", password="*************")
sftp = paramiko.SFTPClient.from_transport(t)
remoteFilePath=**********
# 将sftp服务器上的文件下载到本地
if not os.path.exists(localDir):
os.makedirs(localDir)
for file in sftp.listdir(remoteFilePath):
localFile = os.path.join(localDir, file)
remoteFile = remoteFilePath + "/" + file
file_handler = open(localFile, 'wb')
sftp.get(remoteFile, localFile)
file_handler.close()
sftp.remove(remoteFile)
sftp.rmdir(remoteFilePath)
sftp.rmdir(path)
sftp删除文件时需要先把文件删掉才可以删除目录!