一、os模块
os.getcwd() 获取当前的工作目录
os.chdir(‘绝对路径/相对于当前工作目录的路径’) 改变工作目录,相当于shell的cd命令,例如Windows平台下os.chdir(r’D:\PythonScripts\test\c’),用r对\进行转义,第一层级必须使用双斜线,其他层级可以单斜线也可以双斜线,在linux和unix平台下用/分割
os.curdir 返回当前路径 .
os.pardir 返回当前路径的上一层路径,即 ..
os.mkdir('dir') 生成单级目录
os.makedirs(r'dir1\dir2') 创建递归目录,不加绝对路径表示在当前工作目录下创建
os.rmdir('dir') 删除单级空目录,如果目录不为空无法删除
os.removedirsr('dir1\dir2') 若目录为空则删除,并递归到上一层目录,若上一层为空也删除,以此类推
os.listdir(dir) 列出指定目录下的所有一级文件和目录,并以列表形式打印
os.remove('file') 删除一个文件
os.rename('oldname','newname') 重命名文件或目录
os.listdir('dir')以列表形式列出dir目录下所有的文件和目录
os.stat('file'/'dir') 获取文件/目录的大小,链接数,创建时间,上一次修改、访问时间等信息
os.sep 获取当前环境的分隔符
os.linesep 获取当前环境的换行符,windows下为/r/n,linux下为/n
os.pathsep 获取当前环境分割文件路径的字符串,windows下为;,linux下为:
os.name 获取当前使用平台,windows为nt,linux为posix
os.environ 获取系统环境变量
os.system(shell command) 运行shell命令,返回执行状态码,执行结果显示到屏幕
os.path.abspath(path) 返回绝对路径
os.path.split(path) 将path分割成目录和文件名的两个元素的元组
os.path.dirame(path) 返回path的目录,相当于os.path.split(path)的第一个元素
os.path.basename(path) 返回path最后的文件名,如果path以/或\结尾则返回空值,即os.path.split(path)的第二个元素
os.path.exists(path) 如果path存在则返回True,否则返回False
os.path.isabs(path) 如果path是绝对路径则返回True,否则返回False
os.path.isfile(path) 如果path是一个存在的文件则返回True,否则返回False
os.path.isdir(path) 如果path是一个存在的目录则返回True,否则返回False
os.path.join(path2[,path3[,path4…]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path) 获取path所指向的文件或者目录的最后访问时间
os.path.getmtime(path) 获取path所指向的文件或者目录的最后修改时间
二、os模块中的os.walk()函数
os.walk(‘path’)函数对于每个目录返回一个三元组,(dirpath, dirnames, filenames),
第一个是路径,第二个是路径下面的目录,第三个是路径下面的文件
如果加参数topdown=False则表示自下而上进行遍历,默认为topdown=True即自上而下进行遍历
#对于上述结构,os.walk()的结果为 ['dir', ['dir1', 'dir2'], ['file1.txt', 'file2.txt']] ['dir\\dir1', ['dir11', 'dir12'], []] ['dir\\dir1\\dir11', [], ['file111.txt']] ['dir\\dir1\\dir12', [], []] ['dir\\dir2', ['dir21'], ['file21.txt']] ['dir\\dir2\\dir21', [], []] #可通过如下脚本验证 import sys l=[] for root,dirs,files in os.walk('dir'): l.append(root) l.append(dirs) l.append(files) print(l) l=[]
结果分析
1.先以给定的目录作为根目录进行遍历,读取根目录的文件夹和文件
2.以根目录下子目录为新的根目录进行遍历,读取其下面的文件夹和文件
3.再以2中得到的子目录为根目录进行遍历,读取其下面的文件夹和文件
4.重复3,直至所有子目录下面没有子目录和文件
三、sys模块
sys.path 获取python PATH环境变量的值
sys.version 获取python解释器的版本
sys.exit(n) 在程序执行过程中退出程序,正常退出为exit(0)
sys.argv 返回的结果为一个列表且各元素都为字符串,第一个元素为当前执行文件的名称,后面的元素为执行文件时传入的参数,以空格分隔各参数,如果只有空格表示没有参数。
[root@oldboy test]# cat argv.py import sys print(sys.argv) [root@oldboy test]# python argv.py ['argv.py'] [root@oldboy test]# python argv.py 11 '22' [33,44] 'True' {1:'a'}#文件执行时传入的参数不能为元组,否则会报错 ['argv.py', '11', '22', '[33,44]', 'True', '{1:a}']
sys.stdout.write(‘str’) 向屏幕输出,不换行,相当于print,但是print(‘str’)是换行输出
sys.stdout.flush( ) 将缓存输出到屏幕
例如通过#逐步打印进度条
import time,sys for i in range(20): sys.stdout.write('#') #打印一个#,不换行 time.sleep(0.1) #睡0.1秒再输出下一个# sys.stdout.flush() #将缓存中的#输出到屏幕,没有这一行系统会等到输出完毕再将缓存中的20个#输出到屏幕 print('')
解析文件执行时输入的参数:optparse模块
import optparse class ArgvHandle(): def __init__(self): self.op = optparse.OptionParser() self.op.add_option('-s','--server',dest = 'server') #,前面为文件执行时的输入,dest表示参数名。如果文件执行时带有-s或者--server,则形成参数名称为dest指定名称、参数值为-s或者--server后面紧跟着的内容 self.op.add_option('-P','--port',dest = 'port') self.op.add_option('-u','--username',dest = 'username') self.op.add_option('-p','--passwort',dest = 'password') #学习中遇到问题没人解答?小编创建了一个Python学习交流群:725638078 option,args = self.op.parse_args() print(type(option),type(args)) print(option,args) print(option.server,option.port,option.username,option.password)#通过.取参数名对应的值 test = ArgvHandle()
随意输入参数执行结果如下
可知op.parse_args()是将文件执行python mani.py后面的参数分割成两部分,一部分类似字典的形式(实际是一个对象),一部分是一个列表。
如果匹配到add_option定义的参数形式,则将后面紧跟着的输入作为参数的值;未匹配到add_option定义的参数形式的其余输入被整理到一个列表中。
위 내용은 Python에서 os 및 sys 모듈을 사용하는 방법 안내의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python의 유연성은 다중 파리가 지원 및 동적 유형 시스템에 반영되며, 사용 편의성은 간단한 구문 및 풍부한 표준 라이브러리에서 나옵니다. 유연성 : 객체 지향, 기능 및 절차 프로그래밍을 지원하며 동적 유형 시스템은 개발 효율성을 향상시킵니다. 2. 사용 편의성 : 문법은 자연 언어에 가깝고 표준 라이브러리는 광범위한 기능을 다루며 개발 프로세스를 단순화합니다.

Python은 초보자부터 고급 개발자에 이르기까지 모든 요구에 적합한 단순성과 힘에 호의적입니다. 다목적 성은 다음과 같이 반영됩니다. 1) 배우고 사용하기 쉽고 간단한 구문; 2) Numpy, Pandas 등과 같은 풍부한 라이브러리 및 프레임 워크; 3) 다양한 운영 체제에서 실행할 수있는 크로스 플랫폼 지원; 4) 작업 효율성을 향상시키기위한 스크립팅 및 자동화 작업에 적합합니다.

예, 하루에 2 시간 후에 파이썬을 배우십시오. 1. 합리적인 학습 계획 개발, 2. 올바른 학습 자원을 선택하십시오. 3. 실습을 통해 학습 된 지식을 통합하십시오. 이 단계는 짧은 시간 안에 Python을 마스터하는 데 도움이 될 수 있습니다.

Python은 빠른 개발 및 데이터 처리에 적합한 반면 C는 고성능 및 기본 제어에 적합합니다. 1) Python은 간결한 구문과 함께 사용하기 쉽고 데이터 과학 및 웹 개발에 적합합니다. 2) C는 고성능과 정확한 제어를 가지고 있으며 게임 및 시스템 프로그래밍에 종종 사용됩니다.

Python을 배우는 데 필요한 시간은 개인마다 다릅니다. 주로 이전 프로그래밍 경험, 학습 동기 부여, 학습 리소스 및 방법 및 학습 리듬의 영향을받습니다. 실질적인 학습 목표를 설정하고 실용적인 프로젝트를 통해 최선을 다하십시오.

파이썬은 자동화, 스크립팅 및 작업 관리가 탁월합니다. 1) 자동화 : 파일 백업은 OS 및 Shutil과 같은 표준 라이브러리를 통해 실현됩니다. 2) 스크립트 쓰기 : PSUTIL 라이브러리를 사용하여 시스템 리소스를 모니터링합니다. 3) 작업 관리 : 일정 라이브러리를 사용하여 작업을 예약하십시오. Python의 사용 편의성과 풍부한 라이브러리 지원으로 인해 이러한 영역에서 선호하는 도구가됩니다.

제한된 시간에 Python 학습 효율을 극대화하려면 Python의 DateTime, Time 및 Schedule 모듈을 사용할 수 있습니다. 1. DateTime 모듈은 학습 시간을 기록하고 계획하는 데 사용됩니다. 2. 시간 모듈은 학습과 휴식 시간을 설정하는 데 도움이됩니다. 3. 일정 모듈은 주간 학습 작업을 자동으로 배열합니다.

Python은 게임 및 GUI 개발에서 탁월합니다. 1) 게임 개발은 Pygame을 사용하여 드로잉, 오디오 및 기타 기능을 제공하며 2D 게임을 만드는 데 적합합니다. 2) GUI 개발은 Tkinter 또는 PYQT를 선택할 수 있습니다. Tkinter는 간단하고 사용하기 쉽고 PYQT는 풍부한 기능을 가지고 있으며 전문 개발에 적합합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
