《Abaqus GUI程序开发指南(Python语言)》——2.12 文件的操作

    xiaoxiao2023-08-23  163

    本节书摘来自异步社区《Abaqus GUI程序开发指南(Python语言)》一书中的第2章,第2.12节,作者: 贾利勇 , 富琛阳子 , 贺高 , 周正光 更多章节内容可以访问云栖社区“异步社区”公众号查看。

    2.12 文件的操作

    文件读写是复杂程序不可缺少的一部分,本节将简单介绍一下Python语言中对文件的交互使用方法。

    2.12.1 文件的创建及打开方式创建文件需要用到file()函数,该函数的简单声明方式如下。

    file(filename,mode)

    其中filename为文件名(可包含路径),mode为文件的打开方式,以下为创建文件的几个实例。

    >>>f=file('num.py','w') >>>f=file("C:\data.py","w")

    另外,也可以通过open()函数创建或者打开文件,open()函数声明方式与file()函数类似,以下是采用open()创建和打开本地文件的实例。

    >>>f=open('num.py','w')        >>>f=open('num.py','w+') >>>f=open("C:\data215.py","a")

    使用上述两个函数创建或者打开文件时,一定要注意指定文件的打开方式,Python支持只读、写入、读写等多种文件打开方式,具体参照表2.7。

    2.12.2 文件的读写对于一个已创建的文件,经常需要对其进行读写操作。在Python语言中对文件读取和写入的函数分别为read()、readline()和write(),对于一次读写多行信息时,还可以调用readlines()函数和writelines()函数,具体使用方法参见以下实例。

    【实例2.39】文件的写入

    编写以下脚本,脚本命名为write.py,本实例脚本存放于随书配套资源chapter22.12中,代码及注释如下。

    #! /user/bin/Python # -*- coding:UTF-8 -*- f=file('num.py','w')     #在工作目录下创建一个名为num.py的文件  f.write("x=%6i\n" % 100)  #将字符串写入文件num.py f.write("y=99\n")      #将字符串写入文件num.py for i in range(1,101):   f.write('%i\t' % i)       if i==0:     f.write('\n')     #将整数按行列打印  f.close()          #关闭文件

    上述脚本执行后,在Python工作目录下会创建一个名为num.py的文件,其内容如下。

    x=  100                y=99                  1  2  3  4  5  6  7  8  9 10  11 12 13 14 15 16 17 18 19 20  21 22 23 24 25 26 27 28 29 30  31 32 33 34 35 36 37 38 39 40  41 42 43 44 45 46 47 48 49 50  51 52 53 54 55 56 57 58 59 60  61 62 63 64 65 66 67 68 69 70  71 72 73 74 75 76 77 78 79 80  81 82 83 84 85 86 87 88 89 90  91 92 93 94 95 96 97 98 99 100

    提示

    Python中支持.txt、.dat以及.py等多种文本格式的文件读写,上述代码中创建文件的指令也可以替换为以下文件格式。

    f=file('num.txt','w') f=file('num.dat','w')

    【实例2.40】读取文本并将其内容写入新的文件

    将实例2.39所生成的文件num.py拷贝到Python的当前工作目录下(例如D:temp),然后编写以下脚本,脚本命名为read.py,本实例脚本存放于随书配套资源chapter22.12中,脚本代码及注释如下。

    f1=file('num.py','r')       #以只读方式打开文件num.py f2=file('new_num.txt','w')     #以写入方式创建名为new_num.txt的文件        str1=f1.read(9)         #从num.py中读取9个字符,形成字符串str1 str2=f1.read(5)         #从num.py中读取5个字符,形成字符串str2 f2.write('this is a new file.\n') #在new_num.txt中写入字符串'this is a new file.\n' f2.write(str1)          #在new_num.txt中写入字符串str1 f2.write(str2)          #在new_num.txt中写入字符串str2 while True:   line=f1.readline()       #循环读取num.py整行,并形成字符串   if len(line)==0:     break         #遇空行终止循环   data=line.strip().split('\t')  #将单个字符串按横向制表符'\t'分割成多个字符串   N=len(data)         #计算子字符串的数量   for i in range(0,N):     f2.write(data[i]+',')     #将每个子字符串以逗号隔开写入new_num.txt   f2.write('\n')       #换行 f1.close()            #关闭文件 f2.close()

    上述程序执行后,在当前工作目录下,会生成名为new_num.txt的文件,该文件的内容如下。

    this is a new file. x=  100 y=99 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39,40, 41,42,43,44,45,46,47,48,49,50, 51,52,53,54,55,56,57,58,59,60, 61,62,63,64,65,66,67,68,69,70, 71,72,73,74,75,76,77,78,79,80, 81,82,83,84,85,86,87,88,89,90, 91,92,93,94,95,96,97,98,99,100, 相关资源:Abaqus GUI程序开发指南(Python语言)》配套资源
    最新回复(0)