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())

__EOF__

本文作者skypanxh
本文链接https://www.cnblogs.com/skypanxh/p/15214542.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   skypanxh  阅读(94)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示