Xmy的第二次python(文件 *** 作)

Xmy的第二次python(文件 *** 作),第1张

例8-1 利用 os 列出当前目录的绝对路径,及其下的所有子目录、所有文件。


import os
os.path.abspath('.')            # 当前IDEL所处的文件夹的绝对路径:'C:\Program Files\python3.9'
os.path.abspath('..')           # 当前所处的文件夹上一级文件夹的绝对路径:'C:\Program Files
os.listdir()                           # 列出当前目录下,所有的文件夹及文件,返回一个列表
os.listdir('d:\')                   # 列出d:\目录下,所有的文件夹及文件,返回一个列表
y=[f for f in os.listdir(r'.\')  if f.endswith(('.py','.txt'))]            # r 表示后面的字符不转义
print(y)                               # 将当前目录下后缀为py、txt的所有文件增加到列表中,并输出

运行结果:

 例8-2  利用os.path创建目录、创建多级目录,判断目录、文件是否存在。


import os
os.mkdir('d:\test')                                           # 创建一个目录:d:\test
os.makedirs('d:\Python\test')                       # 一次性创建多级目录:d:\Python\test
os.path.isdir('d:\Python\test')                      # 判断指定的目录是否存在,输出:True、或False  
os.path.isfile(r'd:\Python\test\test.txt')       # 判断指定的文件是否存在,输出:True、或False  
os.path.exists(r'd:\Python\test\test.txt')      # 判断指定的文件是否存在,输出:True、或False  
os.path.exists(r'd:\Python\test')                   # 判断指定的目录是否存在,输出:True、或False  
os.path.join('d:\python\test','test.txt')         # 将路径和文件链接:'d:\python\test\test.txt' 

例8-3  利用shutil复制、移动目录及文件。


 

import os
import shutil
os.chdir("d:\Python\test")                     # 改变工作目录:将d:\Python\test设为当前工作目录 
shutil.copyfile("test.txt","d:\test_copy.txt")    # 拷贝当前工作目录下的test.txt至d:\test_copy.txt 
shutil.move("test.txt","d:\test_copy.txt")        # 将当前工作目录下的test.txt文件移至d:\test_copy.txt
os.remove("d:\test_copy.txt")                               # 删除指定的文件
shutil.copytree("d:\Python\test","d:\newdir") # 将d:\Python\test下的目录、文件,复制到新路径下

运行前:

 运行后:

向hello.txt中写入10行“Hello World!行号” :
f = open("C:\Users\dell\Desktop\hello.txt", mode="w+")

for i in range(0, 11):
    f.write("Hello World!%d\n" % i)
f.close()

 运行结果:

 将hello.txt中的字符串“World”全部替换成字符串“Python”,并将结果存入hello2.txt:
content=open("C:\Users\dell\Desktop\hello.txt")
with open("C:\Users\dell\Desktop\hello2.txt","w") as f:
    for line in content:
        f.write(line.replace("World","Pyhton"))

运行结果:

 读取“年度新生人口和死亡人口.xls”的内容。


该文件收录了1949-2016年期间,我国部分地区新生人口、死亡人口、净增人口数据:

import xlrd
wb = xlrd.open_workbook("C:\Users\dell\Desktop\年度新生人口和死亡人口.xls")     # 打开文件
sheet = wb.sheet_by_index(0)                                                                     # 通过索引获取表格
for i in range(sheet.nrows):                                                                         # 按行数迭代
    row = sheet.row_values(i)                                                                        # 获取第 i行,返回列表
    print(row)
运行结果:用 openpyxl 库创建 xlsx 文件,并写入数据:
import openpyxl
wb = openpyxl.workbook()                    # 创建Workbook,并默认会创建一个空表,名称为:Sheet
ws1 = wb.active                                                     # 获取默认的sheet,并激活
ws1.title = 'Sheet1'                                                # 设置Sheet名称
ws1['A1'] = '姓名'                                                 # 给单个单元格一个列名
ws1['B1'] = '年龄'
ws1.append(['张三', 18])                                       # 写入多个单元格(从有数据的行的下一行写入)
ws1.append(['李四', 19])
ws2 = wb.create_sheet('Sheet2')                          # 创建一个新sheet,可以指定名称
ws3 = wb.copy_worksheet(wb['Sheet1'])            # 复制Sheet1,新sheet名称为Sheet1 Copy
print(wb.sheetnames)                                            # 打印所有表名
wb.save('d:\test.xlsx')                                           # 保存

 运行结果:

 总结:通过本章学习,我学会了如何使用python中的函数 *** 作文件,实现字节流、字符流的读取和写入,并实践成功。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/579975.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-11
下一篇2022-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存