python中的文件父路径怎么表达_python中的文件父路径怎么表达_如何在Python中访问父目录...

所以我有一个朋友给我的Python脚本,但是我没有Python的经验。代码如下:from os import path, chdir, listdir, mkdir, getcwd

from sys import argv

from zipfile import ZipFile

from time import sleep

#Defines what extensions to look for within the file (you can add more to this)

IMAGE_FILE_EXTENSIONS = ('.bmp', '.gif', '.jpg', '.jpeg', '.png', '.tif', '.tiff')

#Changes to the directory in which this script is contained

thisDir,_ = path.split(path.abspath(argv[0]))

chdir(thisDir)

#Lists all the files/folders in the directory

fileList = listdir('.')

for file in fileList:

#Checks if the item is a file (opposed to being a folder)

if path.isfile(file):

#Fetches the files extension and checks if it is .docx

_,fileExt = path.splitext(file)

if fileExt == '.docx':

#Creates directory for the images

newDirectory = path.join(thisDir + "\Extracted Items", file + " - Extracted Items")

if not path.exists(newDirectory):

mkdir(newDirectory)

currentFile = open(file, "r")

for line in currentFile:

print line

sleep(5)

#Opens the file as if it is a zipfile

#Then lists the contents

try:

zipFileHandle = ZipFile(file)

nameList = zipFileHandle.namelist()

for archivedFile in nameList:

#Checks if the file extension is in the list defined above

#And if it is, it extracts the file

_,archiveExt = path.splitext(archivedFile)

if archiveExt in IMAGE_FILE_EXTENSIONS:

zipFileHandle.extract(archivedFile, newDirectory)

if path.basename(archivedFile) == "document.xml":

zipFileHandle.extract(archivedFile, newDirectory)

if path.basename(archivedFile) == "document.xml.rels":

zipFileHandle.extract(archivedFile, newDirectory)

except:

pass

对于newDirectory = path.join(thisDir + "\Extracted Items", file + " - Extracted Items")的行

我想修改它以访问thisDir的父目录,然后创建\Extracted Items文件夹。有人知道在python中访问父目录的最佳方式是什么吗?在

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven的中央仓库地址

www.mvnrepository.com转载于:https://www.cnblogs.com/j-liu3323/p/6590435.html

Spring–添加AOP支持

我听到了一个有关一位高级(且酬劳颇丰)软件工程师的故事。 他的任务是记录他正在研究的项目中每个控制器中的每个方法。 工程师重写了所有控制器方法,因此使用如下代码: RequestMapping(method RequestMethod.GET)public String …

vscode python第三方库检测_VSCode中使用Pylint检查python代码

为什么使用lint在日常开发中,不同开发人员会写下不同风格的代码,导致代码可维护性变差,为了解决风格不一致问题,我们可以制定代码规范,让开发人员都遵守同样的规范编写代码。在开发过程中,部分代码存在质量…

Spring MVC-集成(Integration)-集成LOG4J示例(转载实践)

以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_log4j.htm 说明:示例基于Spring MVC 4.1.6。 以下示例说明如何使用Spring Web MVC框架来触发LOG4J。首先,让我们使用Eclipse IDE,并按照以下步骤使用Spring W…

NUMA架构和Java

是时候部署您的应用程序了,期待着采购最适合负载要求的硬件。 如今,具有40核或80核的包装盒非常普遍。 总体概念是更多的内核,更多的处理能力,更多的吞吐量。 但是我看到了一些相反的结果,表明小型的CPU密集型测试运行…

存储过程常用技巧

我们在进行pl/sql编程时打交道最多的就是存储过程了。存储过程的结构是非常的简单的,我们在这里除了学习存储过程的基本结构外,还会学习编写存储过程时相关的一些实用的知识。如:游标的处理,异常的处理,集合的选择等等…

vue是用a标签打开新页面_vue 在新窗口打开页面并设置不同的背景

开发一个新系统,前端用的vue,vue是单体应用,所有页面都在一个窗口里实现,但项目要求在点button链接后要新打开一个浏览器页面,解决方法如下:1. 给此button设置新事件 click"createdefect"提交缺陷…

卡尔曼滤波的推导

卡尔曼滤波的推导1 最小二乘法在一个线性系统中,若\(x\)为常量,是我们要估计的量,关于\(x\)的观测方程如下: \[ y Hx v \tag{1.1}\] \(H\)是观测矩阵(或者说算符),\(v\)是噪音,\(y…

Java注释-保留

考虑一下Java批注: public interface AnAnnotaton {}带有此注释的类: AnAnnotaton class AnAnnotatedClass{}还有一个测试,检查类中是否存在此批注: import static org.hamcrest.MatcherAssert.assertThat; import static org.h…

MYSQL查询选修三门以上课程_SQL高级查询的练习题

Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.S# from (select s#,score from SC where C#001) a,(select s#,s…

Determing client's IP

AuthorDeterming clients IPАнатоли&23.04.2009 18:39:46Registered userHow to determine clients IP address in THTTPServer.OnClientConnected, THTTPServer.OnClientDisonnected and TRtcFunction.OnExecute events?Danijel Tkalcec [RTC]23.04.2009 19:45:05…

mysql aa复制_MySQL的复制架构与优化

MySQL的复制架构与优化###########原理###########1.主服务器将更新的数据的sql语句(例如,insert,update,delete等)写入到二进制文件中(由log-bin选项开启)。此二进制文件由一个索引文件跟踪维护。2.从服务器连接(使用I/O线程连接)主服务器&a…

如何安装Gradle

Gradle是一个简单而强大的构建工具。 它类似于Ant构建工具。 它可以很好地管理构建,还可以处理构建依赖性。 Gradle最好的部分是它是开源项目。 如果您正在考虑安装并尝试一下,那么您来对地方了。 Gradle的开发周期为4周,因此,每隔…

nmap使用指南

一、目标指定 1.CIDR标志位 192.168.1.0/24 2.指定范围 192.168.1.1-255 192.168.1-255.1&#xff08;任意位置&#xff09;3.IPv6地址只能用规范的IPv6地址或主机名指定。 CIDR 和八位字节范围不支持IPv6&#xff0c;因为它们对于IPv6几乎没什么用。 -iL <文件名> 主机名…

#Pragma Pack(n)与内存分配

#pragma pack(n) 解释一&#xff1a; 每个特定平台上的编译器都有自己的默认“对齐系数”(也叫对齐模数)。程序员可以通过预编译命令#pragma pack(n)&#xff0c;n1,2,4,8,16来改变这一系数&#xff0c;其中的n就是你要指定的“对齐系数”。 规则&#xff1a; 1、数据成员对齐规…

Java死了还是无敌?

作家艾萨克阿西莫夫&#xff08;Isaac Asimov&#xff09;曾经说过“唯一不变的就是变化”。 这不仅仅是软件行业中的一个短语&#xff0c;这是绝对的事实。 曾经有一天&#xff0c;Corba为王&#xff0c;但Web Services篡夺了它。 即使在Web服务领域&#xff0c;过去也全都是关…

mysql数据库访问问题吗_#MySQL数据库无法远程访问的问题

在 Ubuntu上装了mysql&#xff0c;因为项目的数据库是mysql&#xff0c;将项目放在tomcat里面webapp下面&#xff0c;一直启动不成功。本来一直以为是jdbc驱动问题&#xff0c;后来发现不是。1.cd /etc/mysql 找到my.cnf查找到bind-address&#xff0c;将 bind-address127.0.0.…

SolidEdge如何复制特征 建立类似于UG 块的概念

直接CtrlC和CtrlV可以实现特征的复制粘贴 按N键可以改变特征方向 已经复制完成的特征要进行定位&#xff0c;则右击该特征&#xff0c;编辑轮廓&#xff0c;可以进行聪慧尺寸的标注 使用特征库的方式&#xff0c;就像UG的块一样&#xff0c;可以给所有零件调用。在任意位置新建…

Gradle自定义插件

本教程介绍了创建Gradle独立自定义插件的方法。 它涵盖以下主题 创建任务&#xff0c;并在“自定义”插件中使用它 独立的自定义插件 简短的插件ID 使用settings.gradle自定义Gradle设置 项目信息&#xff1a; 摇篮版本&#xff1a;1.1 操作系统平台&#xff1a;Ubuntu 1…

mysql映射文件_Mybatis SQL映射文件

简单查询insert添加insert可以使用数据库支持的自动生成主键策略&#xff0c;设置useGeneratedKeys”true”&#xff0c;然后把keyProperty 设成对应的列&#xff0c;就搞定了。比如说上面的StudentEntity 使用auto-generated 为id 列生成主键.还可以使用selectKey元素。下面例…