文章目录 文件的处理 获取系统类型 获取系统环境 执行系统命令 操作目录与文件 文件和目录高级处理 复制文件 移动文件 读取压缩及归档压缩文件 解压文件 小结 os模块和 shutil模块是...Python处理文件/目录的主要方式。...os模块提供了一种使用操作系统相关功能的便捷方式,shutil模块是一种高级的文件/目录操作工具。...Python开发最为常见的功能之一。.../ 文件和目录高级处理 相比os模块,shutil模块用于文件和目录的高级处理,提供了支持文件赋值、移动、删除、压缩和解压等功能。
python导入同级别模块很方便: import xxx 要导入下级目录页挺方便,需要在下级目录中写一个__init__.py文件 from dirname import xxx 要导入上级目录,可以使用... sys.path 首先 sys.path 的作用是:当使用import语句导入模块时,解释器会搜索当前模块所在目录以及sys.path指定的路径去找需要import的模块 所以改变思路,直接把上级目录加到
1.导入同级模块 python导入同级模块(在同一个文件夹中的py文件)直接导入即可。...“..”的含义:等同于linux里的‘..’,表示当前工作目录的上级目录。实际上python中的‘.’也和linux中一致,表示当前目录。...4.导入隔壁文件夹下的模块 如在file4.py中想引入import在dir3目录下的file3.py。...这其实是前面两个操作的组合,其思路本质上是将上级目录加到sys.path里,再按照对下级目录模块的方式导入。 同样需要被引文件夹也就是dir3下有空的__init__.py文件。...如果python解释器没有认同该文件夹是package,那么这就是一个普通的文件夹,无法实现相对导入。
python3获取文件目录和文件 import os,sys if __name__=="__main__": print("__file__ = %s" % __file__) #获取文件相对路径...print("sys.argv[0]) = %s" % sys.argv[0]) #获取文件的全路径加文件名 print("sys.path[0] = %s " % sys.path[0])...#获取文件的全路径 print("os.getcwd() = %s" % os.getcwd()) #获取当前目录路径(和linux的pwd一样) print("os.path.realpath(...__file__) = %s " % os.path.realpath(__file__)) #获取文件的全路径加文件名 print("os.path.abspath(__file__) = %s ..." % os.path.abspath(__file__)) #获取文件的绝对路径加文件名 print("os.path.dirname(os.path.realpath(__file__)) =
可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:”*”, “?”, “[ ]”。 ”*”匹配0个或多个字符; ”?”...匹配单个字符; ”[ ]”匹配指定范围内的字符,如:[0-9]匹配数字。 1、glob.glo 返回所有匹配的文件路径列表。....tif结尾的图片,最后再检索以.py结尾的文件,显示搜索不到因此是一个空列表。...运行结果为: 2、glob.iglob 获取一个可编历对象,使用它可以逐个获取匹配的文件路径名。...下面是一个简单的例子: import glob #父目录中的.py文件 f = glob.iglob(r'../*.py') print ( f )#<generator
move操作shutil.copytree( olddir, newdir, True/Flase) #把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接...,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接shutil.rmtree( src ) #递归删除一个目录以及目录内的所有内容os模块不仅提供了新建文件、删除文件、查看文件属性的操作功能...shutil模块是对os模块中文件操作的补充,是Python自带的关于文件、文件夹、压缩文件的高层次的操作工具,类似于高级API。...注意:目标路径下的文件夹必须是已经存在的,否则程序会返回错误。2、复制文件shutil.copyfile(src,dst)可以从src文件复制内容(不包含元数据)到dst文件。...shutilshutil.rmtree('foo/bar')将会仅仅删除bar4、压缩与解压文件 Python 2.7版本之后就提供了使用shutil模块实现文件压缩与解压的功能。
❝本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills❞ 这是我的系列文章「Python实用秘技」的第...12期,本系列立足于笔者日常工作中使用Python积累的心得体会,每一期为大家带来一个几分钟内就可学会的简单小技巧。...作为系列第12期,我们即将学习的是:像导入模块一样导入ipynb文件。...对于从事数据科学行业的朋友来说,大部分时候我们都是在jupyter中进行日常代码的书写,但ipynb文件格式作为特殊的格式,默认是无法像常规的py文件那样作为模块进行各种对象的导入。...放置于代码最开始进行执行,后续代码中就可以直接把ipynb文件名视作模块名使用。
OS模块 os,语义为操作系统,包含普遍的操作系统功能,与具体的平台无关。...python编程时,处理文件和目录这些操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小…… os模块不受平台限制,也就是说:当我们要在linux中显示当前命令时就要用到pwd命令,...而Windows中cmd命令行下就要用到这个,例如:这时候我们使用python中os模块的os.path.abspath(name)功能,甭管是linux或者Windows都可以获取当前的绝对路径。...os.getenv()和os.putenv :分别用来读取和设置环境变量 os.listdir() :返回指定目录下的所有文件和目录名 os.remove(file) :删除一个文件 os.stat(file...) :获得文件属性 os.chmod(file) :修改文件权限和时间戳 os.mkdir(name) :创建目录 os.rmdir(name) :删除目录 os.removedirs(r“c:\python
经常有小伙伴提问,为什么有时候执行某个脚本就会报错: 报 no module named xxx 这种问题一定会有人会热心的出来说,这个模块导入失败,没有找到这个模块。...首先看简单的例子: 这个简单的demo中,t1模块下有 t2模块和p1.py文件,t2模块内有p2.py文件。...p1.py的内容是输出一句话: p2.py 的内容则是直接导入p1 : 注意,p1 其实 是位于 p2的上级模块 下的,正常来说,在pycharm中这么从上级导入并不是很被推荐。...在pycharm的项目TTT中,我们执行p2.py的时候,其实Pycharm是可以搜寻到TTT下的模块的,也就是 t1 模块。所以能正常执行。...如果导入的并不是上级模块的文件,而是同级/下级的文件,那么就可以找到了。这也是为什么不推荐从上级文件夹/模块导入文件的原因之一。
绝对路径 指一个目录或文件的实际路径,如 D:\Code\Python-Study-Notes\exercise\try_except_demo.py,这就是一个绝对路径,无论当前在哪个目录中,只要使用这个路径...高级操作 shutil 模块 shutil 模块可以复制、移动、重命名和删除目录或文件。...os 模块中的 rmdir() 和 removedirs() 都只能删除一个非空的目录,如果想删除一个目录及其中的子目录和文件,可以使用, 1 shutil.rmtree(path) 复制 该函数可以删除指定的目录及其中所有内容...send2trash 模块 使用 shutil 模块中的函数删除目录即文件是不可恢复的,为了保险起见,可以使用第三方库 send2trash 中的函数做删除动作,它不会完全删除目录或文件,而是将它们放入回收站中...因为它是一个第三方模块,所以使用之前需要使用 pip 工具安装它,并使用 import 语句导入。
本篇主要讲述: 文件和目录的基本权限; 设置基本权限(chmod,chown,chgrp); 附加权限; 1、基本权限 (1)访问方式(权限) 读取:允许查看内容-read r 写入:允许修改内容...-write w 可执行:允许运行和切换-execute x (2)使用者与群组 权限适用对象(归属) 所有者:拥有此文件/目录的用户-user u 所属组:拥有此文件/目录的组-group... g 其他用户:除所有者、所属组以外的用户-other o (3)使用 ls -ld 命令 ls -ld 文件或目录 #查看文件或者目录自身的属性 ?...chmod o+w /nsddir/ 2)使用户zhangsan不能够在此目录下创建子目录 chmod o-w /nsddir/ 3)使用户zhangsan能够修改readme.txt文件 chmod...– 大多数挂载的EXT3/4、XFS文件系统默认已支持 [root@server0 /]# mkdir /nsd10 #新建目录 [root@server0 /]# chmod o=---
CSV文件 CSV文件:Comma-Separated Values,中文叫逗号分隔值或者字符分割值,其文件以纯文本的形式存储表格数据。...name,age,score zhangsan,18,98 lisi,20,99 wangwu,17,90 jerry,19,95 Python中的csv模块,提供了相应的函数,可以让我们很方便地读写csv...CSV文件的写入 import csv # 以写入方式打开一个csv文件 file = open('test.csv','w') # 调用writer方法,传入csv文件对象,得到的结果是一个CSVWriter..., '18', '98'],['lisi', '20', '99'], ['wangwu', '17', '90'], ['jerry', '19', '95']]) file.close() CSV文件的读取...import csv # 以读取方式打开一个csv文件 file = open('test.csv', 'r') # 调用csv模块的reader方法,得到的结果是一个可迭代对象 reader =
python在不同层级目录import模块的方法 使用python进行程序编写时,经常会调用不同目录下的模块及函数。本篇博客针对常见的模块调用讲解导入模块的方法。 ---- 1....---- 补充__init__.py 在python模块的每一个包中,都有一个__init__.py文件(这个文件定义了包的属性和方法)然后是一些模块文件和子目录,假如子目录中也有__init__....当你将一个包作为模块导入(比如从 xml 导入 dom )的时候,实际上导入了它的__init__.py 文件。 一个包是一个带有特殊文件 __init__.py 的目录。...如果 __init__.py 不存在,这个目录就仅仅是一个目录,而不是一个包,它就不能被导入或者包含其它的模块和嵌套包。 __init__.py 中还有一个重要的变量,叫做__all__。..._.py 文件中 __all__ 列表中的子模块和子包导入到当前作用域中来。
Windows系统可以拥有多个盘符,如C盘,D盘,E盘 Linux没有盘符这个概念,有类似的分区(一个硬盘分多个分区) Linux所有文件都在’根’目录下 Linux主要目录速查表 /bin:二进制命令所在的目录.../boot:系统引导程序所需要的文件目录,引导系统开机 /dev:设备软件目录,磁盘,光驱 /etc:系统配置,启动程序 /home:普通用户的家,目录默认数据存放目录 /lib:启动系统和运行命令所需的共享库文件和内核模块存放.../mnt:临时挂载存储设备的挂载点,u盘插入光驱无法使用,需要挂载然后使用 /opt:额外的软件包 /proc:操作系统运行时,进程信息和内核信息存放在这里 /root:Linux超级用户root的家目录.../sbin:和管理系统相关的命令,【超级管理员用】 /tmp:临时文件目录,这个目录被当作回收站使用 /usr:用户或系统软件应用程序目录 /var:存放系统日志的目录
1、目录和文件的操作模块os.path,在使用之前要先导入:import os.path。它主要有以下几个重要的功能函数: #!...\python\study\os.path.py") #判断路径是否为目录 print os.path.isdir("E:\pycharm\python\study") #将路劲分割成目录和文件组成一个元组...\python\study","os.path.py") Python的标准库中的os模块包含普遍的操作系统功能。...如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。...() #设置一个环境变量 #print os.putenv(1,'rr') #获取一个环境变量如果没有则返回none #print os.getenv() #返回指定目录下所有的文件名和目录名 print
在开发过程中我们有时需要判断文件或者判断目录是否存在,这个时候我们需要用到python中提供的三种方法: OS模块判断; open函数和异常捕获判断; pathlib模块判断。...零、OS模块判断 OS模块判断文件或目录是否存在是很常用的,我们来看一下具体怎么使用 import os # 判断文件是否存在 if os.path.isfile("e:/test/test.txt"...os.F_OK) 一、open函数和异常捕获判断 这种方法有点奇葩,我个人不建议使用该方法去判断。...这个方法的思路是利用 open 函数去打开一个文件,如果这个文件不存在将会报错,利用 try except 来捕获这个错误。...("没权限") except: print("其他错误") 二、pathlib模块判断 pathlib 模块判断文件或者文件夹是否存在。
因此,如果想使用户易于使用你的模块,导入和运行模块的代码应该简短。本文将向你展示3种简化导入和执行Python模块的方法。...导入 场景 假设我们有一个名为 utils.py 的文件,其中包含所有重要的函数和类 def add_two(num: int): return num + 2 def multiply_by_two...使用 import * 时,__all__ 中指定的函数、类和包将被导入。...这个错误告诉我们,只从 utils.py 中导入了 add_two 和 multiply_by_two ,而并未导入变量 a 。...,因为 load_data.py 和 _init _. py 在同一个目录中。 现在,让我们尝试从 data_modules 导入 DataLoader 和 DataProcessor 。
本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第...12期,本系列立足于笔者日常工作中使用Python积累的心得体会,每一期为大家带来一个几分钟内就可学会的简单小技巧。 ...作为系列第12期,我们即将学习的是:像导入模块一样导入ipynb文件。 ...对于从事数据科学行业的朋友来说,大部分时候我们都是在jupyter中进行日常代码的书写,但ipynb文件格式作为特殊的格式,默认是无法像常规的py文件那样作为模块进行各种对象的导入。 ...放置于代码最开始进行执行,后续代码中就可以直接把ipynb文件名视作模块名使用。
中获取某个用户对某个文件或目录的访问权限 在Python中我们通常可以使用os.access()函数来获取当前用户对某个文件或目录是否有某种权限,但是要获取某个用户对某个文件或目录是否有某种权限python...中没有很好的方法直接获取,因此我写了个函数使用stat和pwd模块来实现这一功能。.../usr/bin/env python # -*- coding: utf-8 -*- import os import pwd import stat def is_readable(path, user...is_readable('/tmp', admin) print is_writable('/tmp', admin) print is_executable('/tmp', admin) 以上这篇python...检查目录文件权限并修改目录文件权限的操作就是小编分享给大家的全部内容了,希望能给大家一个参考。
在处理分类问题制作标签的时候用到了指定文件夹下的文件名获取,在这里做个小结: OS模块是python中一个常用于处理文件信息的模块,因此相关文件的处理都会用到OS模块。...获取文件名常用到的函数为 os.walk((top, topdown = True, onerror = None, followlinks = False)) 具体使用方法可 参考...os.listdir * 获取指定目录下的文件夹名(不包含子目录) path = '/opt' dirs = os.listdir(path) for dir in dirs: print...dir 获取目录中的所有文件夹以及文件名 import os def file_name(file_dir): for root, dirs, files in os.walk(file_dir...): print(root) #当前目录路径 print(dirs) #当前路径下所有子目录 print(files) #当前路径下所有非目录子文件
领取专属 10元无门槛券
手把手带您无忧上云