首页/文章/ 详情

ANSA二次开发_Python基础-文件IO

2月前浏览606

ANSA获取所有PART的名称,并输出至文件中。











import ansafrom ansa import basefrom ansa import constants

with open("D:/temp/temp.txt", 'w') as f2:  all_part = base.CollectEntities(constants.NASTRAN,None,'ANSAPART')  name_ids = set(map(lambda x: x._name, all_part))  print (name_ids)  f2.write(str(name_ids))


Python提供了丰富的文件I/O(输入/输出)功能,允许读取和写入文件。
主要通过open函数来完成,它可以打开文件并返回一个文件对象。
通过这个文件对象,你可以对文件进行读取、写入和其他操作。

打开文件
使用open函数打开文件时,可以指定不同的模式:
 'r':读取模式(默认)。
 'w':写入模式,会覆盖已存在的文件。
 'x':独占创建模式,如果文件已存在会引发错误。
 'a':追加模式,写入到已存在文件的末尾。
 'b':二进制模式。
 't':文本模式(默认)。
 '+':更新模式,读取和写入。

1、读取文件




# 打开文件进行读取with open('example.txt', 'r') as file: content = file.read() print(content)




# 逐行读取with open('example.txt', 'r') as file: for line in file: print(line, end='')

2、写入文件



# 写入文本到文件with open('example.txt', 'w') as file: file.write("Hello, World!\n")

3、追加字符


with open('example.txt', 'a') as file: file.write("Another line.\n")

4、使用二进制模式



# 以二进制模式写入with open('binary.dat', 'wb') as file: file.write(b'\x00\x01\x02\x03')




# 以二进制模式读取with open('binary.dat', 'rb') as file: content = file.read() print(list(content))
文件操作的其他常用方法
- file.readline():读取文件的下一行。
- file.readlines():读取文件中的所有行并返回一个列表。
- file.seek(offset):改变当前文件操作指针的位置;offset是指定的位置。
- file.tell():返回当前文件操作指针的位置。

以二进制模式读取和写入文件,这在处理非文本文件时使用。







# 打开一个图片文件进行读取with open("D:/temp/无标题.png", 'rb') as source_file:    content = source_file.read()
# 将读取的内容写入到新的图片文件with open("D:/temp/无标题1.png", 'wb') as dest_file:    dest_file.write(content)



来源:TodayCAEer
Nastran二次开发ANSApython
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-08-14
最近编辑:2月前
TodayCAEer
本科 签名征集中
获赞 17粉丝 26文章 235课程 0
点赞
收藏
作者推荐

ANSA二次开发_Python基础-pandas模块-批量创建材料

Pandas是一个开源的Python数据分析库,提供了高性能、易用的数据结构和数据分析工具。Pandas使得在Python中进行数据清洗、分析、和可视化变得更加快捷和简单。它是基于NumPy构建的,使得数据操作和分析工作对于有着不同背景的人们都易于上手。但是在ANSA开发中使用较少。拿来解析xlsx还是挺方便的,但还是建议使用ANSA提供的API解析。案例:批量创建材料importansafromansaimportbasefromansaimportconstantsimportpandasaspddf=pd.read_excel('C:\\Users\\jintian\\Documents\\mat.xlsx')forindex,rowindf.iterrows():ifnotrow.isnull().all():row_dict={'Name':row['Name'],'E':row['E'],'NU':row['NU'],'RHO':row['RHO'],'DEFINED':'YES'}base.CreateEntity(constants.NASTRAN,'MAT1',row_dict)Pandas主要有两种类型的数据结构:Series:一维数组,与NumPy的数组类似,但它可以有一个索引。索引可以是数字,也可以是标签。DataFrame:二维的表格型数据结构,可以看作是由多个Series组成的字典(共用同一个索引)。Pandas强大的功能包括但不限于:快速高效地处理大量数据读取和写入各种格式的数据,包括CSV、Excel、SQL数据库和HDF5格式数据清洗功能,如处理缺失数据、数据过滤、数据转换等数据合并、分组、重塑时间序列分析Pandas经典使用案例1.数据读取和预览:importpandasaspd#读取CSV文件df=pd.read_csv('data.csv')#预览前五行数据print(df.head(5))2.数据清洗数据清洗是数据分析中的重要步骤。Pandas提供了多种数据清洗的工具,例如处理缺失值:#填充缺失值df.fillna(0,inplace=True)#删除含有缺失值的行df.dropna(inplace=True)3.数据筛选Pandas允许使用条件逻辑来筛选数据:#筛选'age'列大于30的所有行filtered_df=df[df['age']>30]#筛选'age'大于30并且'gender'为'male'的行filtered_df=df[(df['age']>30)&(df['gender']=='male')]4.数据分组和聚合Pandas的groupby功能非常强大,可以用来对数据集进行分组和聚合操作:#按'gender'分组并计算每组的平均'age'grouped_df=df.groupby('gender')['age'].mean()print(grouped_df)5.数据合并Pandas提供了多种数据合并的方法,如concat、merge和join:#假设有两个DataFrame,df1和df2merged_df=pd.merge(df1,df2,on='key_column')Pandas是Python数据分析的核心库之一,提供了强大的数据处理能力,前处理中常规开发使用较少,后处理numpy与pandas搭配使用使得数据分析工作变得更加高效。来源:TodayCAEer

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈