Python操作目录(python编程目录)

liftword6个月前 (12-30)技术文章167
  • 获取当前工作目录
  • 获取执行命令的位置
  • 路径拼接
  • 路径拆分
  • 文件重命名
  • 删除文件
  • 复制文件
  • 遍历文件夹下的文件
  • 判断文件是否存在
  • 判断目录是否存在

获取当前工作目录

import sys

print(sys.path[0])  # 获取当前工作目录

获取当前脚本名

import sys

print(sys.argv[0])  # 当前脚本名

获取执行命令的位置

import os

print(os.getcwd())  # 获取执行命令的位置

获取路径的目录

import os

print(os.path.dirname(path))  # 去掉文件名,返回目录

路径拼接

由于不同的操作系统的路径分隔符不同,因此在做路径拼接时不要直接拼接字符串,而是通过 os.path.join() 函数,如下:

import os

os.path.join('/Users/pangao', 'test.txt')

# /Users/pangao/test.txt'

路径拼接分割符

由于不同的操作系统的路径分隔符不同,而 os.sep 可以表示不同操作系统的路径分隔符。如下:

import os

'hello' + os.sep + 'world'
# or
os.sep.join('hello', 'world') 

# hello/world'

路径拆分

同理,使用 os.path.split() 函数拆分路径,如下:

import os

os.path.split('/Users/pangao/test.txt')

# ('/Users/pangao/', 'test.txt')

os.path.splitext() 可以直接获取文件扩展名,很方便,如下:

import os

os.path.splitext('/Users/pangao/test.txt')

# ('/Users/pangao/test', '.txt')

这些合并、拆分路径的函数并不会检测目录和文件是否真实存在,他们仅仅是对字符串进行操作。

文件重命名

假定当前目录下有一个 test.txt 文件,如下:

import os

os.rename('test.txt', 'test.py')    #重命名

删除文件

假定当前目录下有一个 test.txt 文件,如下:

import os

os.remove('test.txt')    #删除

复制文件

os 模块中没有复制函数,幸运的是shutil模块提供了copyfile()的函数,你还可以在shutil模块中找到很多实用函数,它们可以看做是os模块的补充,如下:

import shutil

shutil.copyfile('test.txt', 'test.py')

遍历文件夹下的文件

  • 方法1:
    使用 os.listdir 获取当前目录下的文件和文件夹,如下:
import os

for filename in os.listdir('./'):
    print(filename)
  • 方法2:
    使用 glob 模块,可以设置文件过滤,如下:
import glob

for filename in glob.glob('*.py'):
    print(filename)
  • 方法3:
    通过 os.walk 可以访问子文件夹,如下:
import os

for fpathe, dirs, fs in os.walk('./'):
    for f in fs:
        print(os.path.join(fpathe, f))

判断文件是否存在

import os

os.path.isfile('test.txt') # 如果不存在就返回False

判断目录是否存在

import os

os.path.exists(directory) #如果目录不存在就返回False

相关文章

Python处理文件的6个常用代码,使用频率很高,值得收藏

日常工作中,我们经常会遇到一些查找、存储文件的问题,比如文件合并、文件分解等,这些问题涉及到对文件进行操作处理。对此,Python的OS库提供了很多功能模块供使用,本文整理了其中6个使用频率很高的常用...

Python基础之:Python中的模块(python模块总结)

简介Python的解释环境是很好用,但是如果我们需要编写一个大型的程序的时候,解释环境就完全不够用了。这个时候我们需要将python程序保存在一个文件里。通常这个文件是以.py结尾的。对于大型的应用程...

python如何分离文件名和扩展名(python把文件分为几种文件类型)

作为新手,如果需要用python将文件名和扩展名分开,你会怎么处理?full_files = [ 'dsie.txt', 'woeifj.py',...

ArcGIS 一个独立运行的Python程序编写和打包

写代码#coding=utf8# -*- coding: UTF-8 -*-import arcpyfrom arcpy import envimport osimport sys##########...

在 Python 中解析路径字符串并获取每个文件夹的名称

在 Python 中,可以使用os模块来解析路径字符串并获取每个文件夹的名称。这个模块提供了许多用于与文件系统和路径名进行操作的函数。这里有一个使用os.path.dirname和os.path.ba...