python中os和sys模块的使用

python内置库os和sys模块非常有用,在对系统或操作系统的操作方面都很有用,比如判断一个文件是否是目录,一个路径是否存在,获取系统的编码等等。

1.os包:os包下可以直接调用的函数

getcwd:  获取当前工作目录路径,无参,返回 字符串

listdir: 获取指定路径下所有的文件和文件夹,参数是path, 返回 列表

makedirs: 创建多级文件夹,如果没有给绝对路径,会创建到当前路径(相对路径),参数是path mode.

示例:

def os_func():
    
    curr_path = os.getcwd()
    print('当前工作路径:', curr_path)
    
    new_path = '%s/test2' % curr_path
    if os.path.exists(new_path):
        print('file with the given path exists.')
    else:
        os.makedirs(new_path)
    
    data = os.listdir(curr_path)
    print(data)

    new_path2 = '%s/test2/abc' % curr_path  # 已存在的文件再新建文件,会报错
    os.makedirs(new_path2)

    # 没有给路径,只给了一个文件/文件夹,就直接在当前路径下新建文件
    os.makedirs('test3')  
输出:

FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'C:\\Users\\fang\\PycharmProjects\\pyProj\\basic2/test2/abc'

current path:  C:\Users\fang\PycharmProjects\pyProj\basic2
['basic_lx.py', 'dt1.txt', 'os_func2.py', 'os_funcs.py', 'tes.txt', 'test11', 'test2', 'time_lx.py', '__init__.py']

如上,如果已存在的文件路径,再创建文件,那么会报错’当文件已存在时,无法创建该文件。‘

removedirs: 传参path, 删除给定路径的多级文件夹,

rename(oldname, newname): 重命名文件/文件夹,

rmdir: 只删除空文件夹,传参空目录,如果是非空,则无法删除

例子:

def os_func2():
    
    if os.path.exists('test2'):
        os.removedirs('test2')
    
    os.rmdir('test3')
    os.rename('test11', 'test1')

输出:
 File "C:\Users\fang\PycharmProjects\pyProj\basic2\os_func2.py", line 37, in os_func2
    os.removedirs('test2')
  File "C:\Users\fang\AppData\Local\Programs\Python\Python310\lib\os.py"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值