os常用等其它常用代码
os常用
1.创建路径
if not os.path.exists(路径):
os.makedirs(路径)
或者
def mkdir(path):
# 引入模块
import os
# 去除首位空格
path=path.strip()
# 去除尾部 \ 符号
path=path.rstrip("\\")
# 判断路径是否存在
# 存在 True
# 不存在 False
isExists=os.path.exists(path)
# 判断结果
if not isExists:
# 如果不存在则创建目录
# 创建目录操作函数
os.makedirs(path)
#print(path +' 创建成功')
return True
else:
# 如果目录存在则不创建,并提示目录已存在
#print(path +' 目录已存在')
return False
其它常用的
1. 获取某目录下所有suffix(eg".tif")格式文件
def getTiffFileName(filepath, suffix): # ".tif"
L1 = []
L2 = []
for root, dirs, files in os.walk(filepath): # 遍历该文件夹
for file in files: # 遍历刚获得的文件名files
(filename, extension) = os.path.splitext(file) # 将文件名拆分为文件名与后缀
if (extension == suffix): # 判断该后缀是否为.c文件
L1.append(filepath + "/" + file)
L2.append(filename)
return L1, L2
2.多线程执行
import threading
threads = []
file1s = ['121044', '121045', '122043', '122044', '122045', '123043', '123044', '123045']
for file1 in file1s:
t = threading.Thread(target=函数名称,args=(参数1,))
threads.append(t)
if __name__ == '__main__':
for t in threads:
t.setDaemon(True)
t.start()
3.写入某excel表格
import openpyxl
wb = openpyxl.Workbook()
ws = wb2["sheet名字"]
data = pd.read_excel(”表名")
df = data.iloc[:, 5:18]
rows,cols = df.shape
# 从第1行1列写入
begin_row = 1
begin_col = 1
for i in range(cols):
for j in range(rows):
ws.cell(row = begin_row+j, column = begin_col+i).value =float(df.iloc[j,i])
wb2.save(r"文件名.xlsx".format(wb2Name))#保存数据
wb2.close()
4. 逐行写出文件夹中的tif名称
配合Fragstats使用,把输出文件.txt改为.fbt即可用软件批量导入
import os
cFileNumber = 0
dir = "文件夹名称"
for root, dirs, files in os.walk(dir): #遍历该文件夹
for file in files: #遍历刚获得的文件名files
(filename, extension) = os.path.splitext(file) #将文件名拆分为文件名与后缀
if (extension == '.tif'): #判断该后缀是否为.c文件
cFileNumber= cFileNumber+1 #记录.c文件的个数为对应文件号
print(cFileNumber, os.path.join(root,filename)+".tif") #输出文件号以及对应的路径加文件名
file_write_obj = open("dest.txt", 'a')
var = os.path.join(root,filename)+".tif,x,0,x,x,1,x,IDF_GeoTIFF"
file_write_obj.writelines(var)
file_write_obj.write('\n')
file_write_obj.close()
5. 获取返回当前路径
os.chdir(os.getcwd())

浙公网安备 33010602011771号