文件文件夹操作

import os
os.path.join('file','docu')
'file/docu'
import os
os.getcwd()          #获取当前工作目录
'/Users/apple/Documents/Repository/文件自动化处理'
os.chdir('/Users/apple/Documents/Repository/文件自动化处理')          #改变当前工作目录
os.getcwd()
'/Users/apple/Documents/Repository/文件自动化处理'
os.getcwd()
'/Users/apple/Documents/Repository/文件自动化处理'
!ls
未命名.ipynb
os.path.abspath('./')
'/Users/apple/Documents/Repository/文件自动化处理'
os.path.isabs('/Users/apple/Documents/Repository/文件自动化处理')
True
os.path.relpath('./','/Users/')
'apple/Documents/Repository/文件自动化处理'
os.path.dirname('/Users/apple/Documents/Repository/文件自动化处理/01练习.ipynb')
'/Users/apple/Documents/Repository/文件自动化处理'
os.path.split('/Users/apple/Documents/Repository/文件自动化处理')
('/Users/apple/Documents/Repository', '文件自动化处理')
'/Users/apple/Documents/Repository/文件自动化处理'.split(os.path.sep)
['', 'Users', 'apple', 'Documents', 'Repository', '文件自动化处理']
os.path.exists('/Users/apple/Documents/Repository/')
True
os.path.isfile('/Users/apple/Documents/Repository/')
False
os.path.isdir('/Users/apple/Documents/Repository/')
True
os.makedirs('./test')
!ls
01练习.ipynb   [34mtest[m[m
os.path.getsize('./01练习.ipynb')
6707
os.listdir('./')
['01练习.ipynb', 'test', '.ipynb_checkpoints']
totalSize = 0
for filename in os.listdir('./'):totalSize = totalSize + os.path.getsize(os.path.join('./',filename))
print(totalSize)
6867

文件读写

helloFile = open('./hello.txt')
print(helloFile)
<_io.TextIOWrapper name='./hello.txt' mode='r' encoding='UTF-8'>
### 这是两种 read 和 readlines
helloContent = helloFile.read()
helloContent
"what are you doing?\nI'm studing python."
sonnetFile = open('./hello.txt')
sonnetFile.readlines()
['what are you doing?\n', "I'm studing python."]
baconFile = open('bacon.txt','w')
baconFile.write('Hello world!\n')
13
baconFile.close()  #注意,关闭后,才能完成写入,从txt文件中看到写入的内容。
baconFile = open('bacon.txt','a')
baconFile.write('Bacon is not a vegetable.')
25
baconFile.close()
baconFile = open('bacon.txt')
content = baconFile.read()
baconFile.close()
print(content)
Hello world!
Bacon is not a vegetable.
# write 要自己在句尾加换行字符

变量保存的一种方式

import shelve
shelfFile = shelve.open('mydata')
cats = ['Zonphie','Pooka','Simon']
shelfFile['cats'] = cats
shelfFile.close()
# 这里是mac环境只保留了一个 mydata.dat 文件
shelfFile = shelve.open('mydata')
type(shelfFile)
shelve.DbfilenameShelf
shelfFile['cats']
['Zonphie', 'Pooka', 'Simon']
shelfFile.close()
shelfFile = shelve.open('mydata')
list(shelfFile.keys())
['cats']
list(shelfFile.values())
[['Zonphie', 'Pooka', 'Simon']]
shelfFile.close()
import  pprint
cats = [{'name':'Zophie','desc':'chubby'},{'name':'Pooka','desc':'fluffy'}]
pprint.pformat(cats)
"[{'desc': 'chubby', 'name': 'Zophie'}, {'desc': 'fluffy', 'name': 'Pooka'}]"
fileObj = open('myCats.py','w')
fileObj.write('cats = '+pprint.pformat(cats)+'\n')
83
fileObj.close()
## pprint.pformat()的字符串保存为一个.py文件
import myCats
myCats.cats
[{'desc': 'chubby', 'name': 'Zophie'}, {'desc': 'fluffy', 'name': 'Pooka'}]
myCats.cats[0]
{'desc': 'chubby', 'name': 'Zophie'}
myCats.cats[0]['name']
'Zophie'

1.1.7的练习先放一下

文件组织,脚本文件处理最方便

shutil(或称为shell工具)模块中包含一些函数,可以在Python程序中复制、移动、改名和删除文件。要使用shutil的函数,首先需要import shutil

shutil.copy(source, destination):将路径source处的文件复制到路径 destination处的文件夹(source 和 destination 都是字符串),并返回新复制文件绝对路径字符串。

其中destination可以是:

1)、一个文件的名称,则将source文件复制为新名称的destination

2)、一个文件夹,则将source文件复制到destination中

3)、若这个文件夹不存在,则将source目标文件内的内容复制到destination中,若destination文件夹不存在,则自动生成该文件。(慎用,因为会将source文件复制为一个没有扩展名的名字为destination的文件,这往往不是我们希望的)

import shutil
shutil.copy('./bacon.txt', './test/')
'./test/bacon.txt'
import os
os.getcwd()
'/Users/apple/Documents/Repository/文件自动化处理'

shutil.copytree(source, destination) :将路径source处的文件夹,包括其包含的文件夹和文件,复制到路径destination处的文件夹,并返回新复制文件夹绝对路径字符串。

注:destination处的文件夹为新创建的文件夹,如已存在,则会报错

import shutil
shutil.copytree('../曲根/','./new/')
'./new/'
# 移动与改名
shutil.move('./hello.txt', './hello_new.txt')
'./hello_new.txt'

非常重要的删除操作

os.unlink(path): 删除path处的文件。

os.rmdir(path): 删除path处的文件夹。该文件夹必须为空,其中没有任何文件和文件夹。

shutil.rmtree(path):删除 path 处的文件夹,它包含的所有文件和文件夹都会被删除。

# 小心操作,linux系统有些文件删错了,可能都要重装系统
# import os
# for filename in os.listdir():
#     if filename.endswith('.dir'):
#         #os.unlink(filename)
#         print(filename)
# 用send2trash模块安全地删除
import send2trash
send2trash.send2trash('bacon.txt')
## 遍历目录树
# 文件较多时常用,也比较实用import os
for folderName, subFolders,fileNames in os.walk('./test/'):print('The current folder is ' + folderName)for subFolder in subFolders:print('Subfolder of '  + folderName+':'+subFolder)for filename in fileNames:print('File Inside '  + folderName+':'+filename)print('')
The current folder is ./test/
File Inside ./test/:bacon.txt

zip 压缩

## 1 创建一个new.zip压缩文件,并向其中添加文件
import zipfile
newZip = zipfile.ZipFile('new.zip','w')
newZip.write('Miki.txt',compress_type=zipfile.ZIP_DEFLATED)
newZip.close()
newZip = zipfile.ZipFile('new.zip','w')
newZip.write('./Taidi.txt',compress_type=zipfile.ZIP_DEFLATED)
newZip.close()
## 2 创建一个example.zip的压缩文件,将animals文件夹下所有文件进行压缩。
import zipfile
import os
newZip = zipfile.ZipFile('example.zip','w')
for folderName, subFolders,fileNames in os.walk('./new/'):for filename in fileNames:newZip.write(os.path.join(folderName,filename),compress_type=zipfile.ZIP_DEFLATED)
newZip.close()

zip 解压缩

import zipfile,os
exampleZip = zipfile.ZipFile('example.zip')
exampleZip.namelist()
['new/曲根_s1.md']
catInfo = exampleZip.getinfo('new/曲根_s1.md')
catInfo.file_size
99076
catInfo.compress_size
27671
print('Compressed file is %s x smaller!' %(round(catInfo.file_size/catInfo.compress_size,2)))
Compressed file is 3.58 x smaller!
exampleZip.close()
import zipfile, os
exampleZip = zipfile.ZipFile('example.zip')
exampleZip.extractall('.\zip')
exampleZip.close()

1.2 练习也暂缓到下周,这周期末ddl太多


python办公(1)python来代替sh相关推荐

  1. python excel 自动化-Python控制Excel实现自动化办公

    这篇文章介绍了Python控制Excel实现自动化办公的方法,主要用到了xlsxwriter库,该库可以很方便的实现操作excel,利用xlsxwriter提供的方法即可使用自动化办公. Python ...

  2. python操作excel-自动化办公:python 操作Excel

    原标题:自动化办公:python 操作Excel 1.安装 pip install xlsxwriter or easy_install xlsxwriter or tar -zxvf xlsxwri ...

  3. lisp对excel其他行列写入_【极简Python 自动化办公】Python写入Excel表格

    [极简Python 自动化办公]Python写入Excel表格 [极简Python 自动化办公]专栏是介绍如何利用python办公,减少工作负荷.篇幅精炼,内容易懂,无论是否有编程基础,都非常适合. ...

  4. python自动化办公excel-自动化办公:python 操作Excel

    原标题:自动化办公:python 操作Excel 1.安装 pip install xlsxwriter or easy_install xlsxwriter or tar -zxvf xlsxwri ...

  5. python 办公常用一:从文本文件中提取手机号码

    https://blog.csdn.net/A757291228/article/details/117464313 python 办公常用 一.从文本文件中提取手机号码 给定一个文本文件从中提取所有 ...

  6. 6个 Python 办公黑科技,工作效率提升100倍!(附代码)

    下班晚,加班久感觉已经成为现代打工人的通病,每天将大部分时间浪费在一些机械,重复的工作上,如何提升你自己的工作效率才是关键. 今天给大家分享6个 Python 办公小技巧,让你的工作效率倍增,欢迎大家 ...

  7. python办公笔记分享

    python 办公 一.文件处理 1.输出目录下所有文件及文件夹 获取当前python程序运行目录 import os print(os.getpwd()) 路径连接 import os print( ...

  8. 【python自动化办公】Python自动化之pdf——PyPDF2、pdfplumber、fitz、pdf2image库介绍

    目录 前言 1. 学习python自动化办公目的 2. 未来持续打卡内容 3. 资料来源与思维导图 一.PDF处理库 1.PyPDF2--基础操作 2.pdfplumber--表格抽取 3.fitz- ...

  9. Python 办公小助手:读取 PDF 中表格并重命名

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 博观而约取,厚积而薄发. 日常工作 ...

  10. (附源码)python办公数据分析系统 毕业设计 021836

    Python办公数据分析系统 摘 要 现代办公通过办公自动化系统可以大大提高的效率.节省成本.规范业务和流程,辅助提升管理水平.办公系统在单位信息化中占有非常重要的地位,涉及到单位的各个部门及绝大多数 ...

最新文章

  1. 正则表达式口诀及教程(推荐)
  2. IT从业人员必看的10个论坛
  3. python3 多进程 multiprocessing对僵尸进程的处理
  4. 拉勾网《32个Java面试必考点》学习笔记之二------操作系统与网络知识
  5. boost::local_function模块实现不可复制的 local_function的测试程序
  6. LeetCode每日一题 416. 分割等和子集
  7. 【任务悬赏】就地过年,原地充电,华为云社区喊你拿新年红包啦!
  8. 【word基础知识】如何将论文中的引文标签和参考文献编号自动关联
  9. python实现matlab_用matlab和python实现符号运算
  10. VMware vSphere 5.1 群集深入解析(二十九)-故障排错
  11. idea 包拆分_idea springboot项目拆分多模块踩坑记(1)
  12. UVA299 UVALive5600 Train Swapping【逆序偶+暴力】
  13. 分享一个mysql的docker-compose.yml
  14. 仓库货位 mysql_Max(TM)财务进销存管理系统
  15. 使用Photoshop去掉图片上的文字的几种方法
  16. 客户分析表格怎么做 财务合并报表培训 5分钟看懂财务报表
  17. Holo 使用场景说明
  18. 微信公众号服务器需要备案,微擎不备案可以用吗?微信公众号开发域名一定要备案吗?...
  19. O1,O2,O3优化了什么,链接做了什么;静态链接-static
  20. 程序员也要学英语——英语构词法

热门文章

  1. 解决微信小程序MQTT通讯真机调试失败的问题附加可用代码
  2. 网吧来的尸体验尸报告
  3. Java串口编程学习1-环境配置(64位Win7)
  4. 移动互联网:虚拟便利店的到来
  5. 基于STM32的智能水表(一)水流量的获取
  6. 菜鸟的IT之路与今后发展目标
  7. 如何在推特上用特定词使推文静音
  8. android 6.0 电池优化,android应用申请加入电池优化白名单
  9. 智能产品再思考,参加建筑智能设计xkool发布会有感
  10. 完美解决CISCO PACKET TRACER 7.2需要账号登录的登录问题(转载)