网站焦点图多少钱,logo设计公司哪家好,纸 技术支持 东莞网站建设,怎么网上注册公司一、os模块 os 模块是 Python中的一个内置模块#xff0c;也是 Python中整理文件和目录最为常用的模块。 该模块提供了非常丰富的方法用来处理文件和目录。比如#xff1a;显示当前目录下所有文件/删除某个文件/获取文件大小
1、获取当前的工作路径
在 Python 中#xff0…一、os模块 os 模块是 Python中的一个内置模块也是 Python中整理文件和目录最为常用的模块。 该模块提供了非常丰富的方法用来处理文件和目录。比如显示当前目录下所有文件/删除某个文件/获取文件大小
1、获取当前的工作路径
在 Python 中利用 os.getcwd() 函数可以取得当前工作路径的字符串还可以利用 os.chdir() 改变它。
import osprint(os.getcwd()) # D:\JQWS\PythonWS\demo1\dir6os.chdir(rD:\JQWS\PythonWS\demo1\dir2)print(os.getcwd()) # D:\JQWS\PythonWS\demo1\dir2注意如果使用 os.chdir() 修改的工作目录不存在Python 解释器会报错。
2、os.path模块
2.1 获取目录名称和基本名称
获取一个路径的目录名称和基本名称的方法有
os.path.dirname()返回一个字符串它包含 path 参数中最后一个斜杠之前的所有内容os.path.basename()返回一个文件名它包含 path 参数中最后一个斜杠之后的所有内容os.path.split()返回一个元组里面包含了一个路径的目录名称和基本名称。os.path.join()返回一个文件路径的字符串包含正确的路径分隔符。
示例代码如下
import ospath rD:\JQWS\PythonWS\demo1\dir6\a.txtprint(os.path.dirname(path)) # D:\JQWS\PythonWS\demo1\dir6
print(os.path.basename(path)) # a.txt# 路径切分
splitList os.path.split(path)
print(splitList) # (D:\\JQWS\\PythonWS\\demo1\\dir6, a.txt)# 路径拼接
fPath os.path.join(splitList[0], splitList[1])
print(fPath) # D:\JQWS\PythonWS\demo1\dir6\a.txt2.2 判断是文件or文件夹
os.path 模块提供了以下函数用于检测给定的路径是否存在以及它是文件还是文件夹
os.path.exists(path) 判断 path 参数所指的文件或文件夹存在os.path.isfile(path) 判断 path 参数存在并且是一个文件os.path.isdir(path) 判断 path 参数存在并且是一个文件夹。
示例代码如下
import ospath rD:\JQWS\PythonWS\demo1\dir6\a.txt# 判断是文件or文件夹
print(os.path.isfile(path)) # True
print(os.path.isdir(path)) # Falseif os.path.exists(path):if os.path.isdir(path):print(是目录%s % path)elif os.path.isfile(path):print(是文件%s % path)# 返回该文件的大小size os.path.getsize(path)print(文件大小%s % size) # 80 字节
else:print(啥也不是)2.3 目录操作
import os# 返回指定路径下文件列表(包含文件和目录)
file_dir rD:\JQWS\PythonWS\demo1\dir6
list_dir os.listdir(file_dir) # 若不指定路径则返回当前路径下的文件和文件夹
print(list_dir) # [a.txt, demo1.py, demo2.py, demo3.py, demo4.py]# 创建文件夹
new_folder abc
if not (os.path.exists(new_folder)):os.mkdir(new_folder) # 创建一个新的文件夹
new_folders rD:\JQWS\PythonWS\demo1\dir6\test1\abc1
if not (os.path.exists(new_folders)):os.makedirs(new_folders) # 创建递归文件夹# 删除文件夹
if os.path.exists(new_folder):os.rmdir(new_folder)
if os.path.exists(new_folders):os.rmdir(new_folders)# 路径替换
print(os.path.relpath(D:\JQWS\PythonWS\demo1\dir6, D:\JQWS)) # PythonWS\demo1\dir6
print(os.path.relpath(D:\JQWS\PythonWS\demo1\dir6, D:\JQ)) # ..\JQWS\PythonWS\demo1\dir6二、sys模块 sys 模块主要负责与 Python 解释器进行交互该模块提供了一系列用于控制 Python 运行时环境的不同部分函数和变量等。 1、查看 sys模块
查看 sys 模块都包含哪些内容
import sysd dir(sys)
print(d)结果如下
[__breakpointhook__, __displayhook__, __doc__, __excepthook__, __interactivehook__, __loader__, __name__, __package__, __spec__, __stderr__, __stdin__, __stdout__, __unraisablehook__, _base_executable, _clear_type_cache, _current_exceptions, _current_frames, _debugmallocstats, _enablelegacywindowsfsencoding, _framework, _getframe, _getquickenedcount, _git, _home, _stdlib_dir, _vpath, _xoptions, addaudithook, api_version, argv, audit, base_exec_prefix, base_prefix, breakpointhook, builtin_module_names, byteorder, call_tracing, copyright, displayhook, dllhandle, dont_write_bytecode, exc_info, excepthook, exception, exec_prefix, executable, exit, flags, float_info, float_repr_style, get_asyncgen_hooks, get_coroutine_origin_tracking_depth, get_int_max_str_digits, getallocatedblocks, getdefaultencoding, getfilesystemencodeerrors, getfilesystemencoding, getprofile, getrecursionlimit, getrefcount, getsizeof, getswitchinterval, gettrace, getwindowsversion, hash_info, hexversion, implementation, int_info, intern, is_finalizing, maxsize, maxunicode, meta_path, modules, orig_argv, path, path_hooks, path_importer_cache, platform, platlibdir, prefix, pycache_prefix, set_asyncgen_hooks, set_coroutine_origin_tracking_depth, set_int_max_str_digits, setprofile, setrecursionlimit, setswitchinterval, settrace, stderr, stdin, stdlib_module_names, stdout, thread_info, unraisablehook, version, version_info, warnoptions, winver]
2、获取参数列表
argv返回传递给 Python 脚本的命令行参数列表。
import sysif __name__ __main__:args sys.argvprint(args)a len(sys.argv) - 1 # 参数个数print(f参数个数{a})# print(sys.argv[0]) # 当前程序名# print(sys.argv[1]) # 第一个参数# print(sys.argv[2]) # 第二个参数# print(sys.argv[3]) # 第三个参数3、退出当前程序
sys.exit(arg)——程序中间的退出
arg 0表示正常退出arg ! 0表示异常退出会引发一个SystemExit异常从而可以在主程序中捕获该异常。
import sysprint(Hello--)
# sys.exit()
try:sys.exit(3)
except SystemExit:print(SystemExit异常)print(end---)4、标准输入输出
import sys# 1. 标准输出stdout
# 下面两行代码等价
sys.stdout.write(标准输出stdout \n)
print(标准输出print)# 2. 标准输入stdin
s1 input()
print(s1)
s2 sys.stdin.readline()
print(s2)# 3.错误输出stderr
sys.stderr.write(错误输出stderr)5、返回 Python 解释器所在路径。
import sysprint(sys.version)
print(sys.winver)
print(sys.platform)
print(sys.path)
print(sys.maxsize)
print(sys.maxunicode)
print(sys.copyright)
print(sys.modules)
print(sys.byteorder)
print(sys.executable)sys模块其他方法
version返回 Python 解释器的版本信息。winver返回 Python 解释器主版号。platform返回操作系统平台名称。path返回模块的搜索路径列表。maxsize返回支持的最大整数值。maxunicode返回支持的最大 Unicode 值。copyright返回 Python 版权信息。modules以字典类型返回系统导入的模块。byteorder返回本地字节规则的指示器。getdefaultencoding()返回当前默认字符串编码的名称。getrefcount(obj)返回对象的引用计数。getrecursionlimit()返回支持的递归深度。getsizeof(object[, default])以字节为单位返回对象的大小。setswitchinterval(interval)设置线程切换的时间间隔。getswitchinterval()返回线程切换时间间隔。
os模块的其他方法可查看参考文章。
参考文章
菜鸟教程-Python3 OS 文件/目录方法https://www.runoob.com/python3/python3-os-file-methods.html – 求知若饥虚心若愚。