1、文件

open()代开文件或者创建文件

fout=open('oops.txt','wt')print('Oops, I created a file.',file=fout)

fout.close()

exists()检查文件是否存在,传入相对或者绝对路径

importos>>>os.path.exist('oops.txt')

True>>>os.path.exist('./oops.txt')

True>>>os.path.exist('.')

True>>>os.path.exist('..')

True

isfile()、isdir()、isabs()检查是否为文件、目录

>>>os.path.isfile('oops.txt')

True>>>os.path.isdir(.) #当前目录

True>>>os.path.isdir(..) #上层目录

True>>>os.path.isabs('oops.txt') #判断绝对路径

False

copy()、move()复制文件

importshutil>>>shutil.copy('oops.txt','ohno.txt') #复制不删除原文件

>>>shutil.move('oops.txt','ohno.txt') #复制并删除原文件

rename()重命名

>>>os.rename('ohno.txt','ohwell.txt')

link()、symlink()、islink()创建硬链接、符号链接、判断符号链接

>>>os.link('oops.txt','yikes.txt')>>>os.path.isfile('yikes.txt')

True>>>os.path.islink('yikes.txt')

False>>>os.symlink('oops.txt','jeepers.txt')>>>os.path.islinl('jeepers.txt')

True

chmod()修改权限,接受一个八进制值,包含用户、用户组、权限。Unix系统。

>>>os.chmod('oops.txt',0o400) #只能被拥有者读

imprt stat>>>os.chmod('oops.txt',stat.S_IRUSR)

chown()修改所有者。Unix/Linux/Mac系统。

uid=5gid=22

>>>os.chown('oops.txt',uid,gid) #指定用户ID和用户组ID

abspath()获取绝对路径名

>>>os.path.abspath('oops.txt')'/usr/gg/oops.txt'

realpath()获取符号链接对应文件的绝对路径。

>>>os.path.realpath('jeepers.txt')'/usr/gg/oops.txt'

remove()删除文件

>>>os.remove('oops.txt')>>>os.path.exists('oops.txt')

False

2、目录

mkdir()创建目录

>>>os.mkdir('poems')>>>os.path.exists('poems')

True

rmdir()删除目录

>>>os.rmdir('poems')>>>os.path.exists('poems')

False

listdir()列出目录内容

>>>os.mkdir('poems')>>>os.listdir('opems')

[]>>>os.mkdir('opems/mm')>>>os.listdir('poems')

['mm']

chdir()修改当前目录

>>>os.chdir('poems')>>>os.listdir('.')

['mm']

glob()列出匹配文件

*匹配任意名称(re中是.*)

?匹配一个字符

[abc]匹配字符a、b、c

[!abc]匹配除a、b、c之外的字符

importglob>>>glob.glob('m*') #获取以m开头的文件和目录

['mm']>>>glob.glob('?')#获取名称为1个字符的文件和目录

[]>>>glob.glob('m?m') #获取名称为3个字符并且以m开头和结尾的文件和目录

[]>>>glob.glob('[abm]*m')#获取所有以a、b、m开头并且以m结尾的文件和目录

['mm']

3、程序和进程

当运行一个程序时,系统会创建一个进程。该进程会使用系统资源(CPU、内存和磁盘空间)和惭怍系统内核中的数据结构(文件、网络连接、用量统计等)。进程之间互相隔离,一个进程无法访问其他进程的内容,也无法操作其他进程。

操作系统会跟踪所有正在运行的进程,给每个进程一个时间片,结束后切换到其他进程。

os.getpid() #获取正在运行的python解释器的进程号

os.getcwd() #获取正在运行的python解释器的当前工作目录

os.getuid() #获取用户ID

os.getgid() #获取用户组ID

使用subprocess模块启动和终止程序。

importsubprocess

ret=subprocess.getoutput('date')#获取Unix date程序的输出,返回字符串

ret=subprocess.getoutput('date -u')#使用参数

ret=subprocess.getoutput('date -u| wc')#使用管道传给wc命令

check_output()接受一个命令命令和参数列表,返回字节类型输出。

ret=subprocess.check_output(['date','-u'])

getstatusoutput()获取其他程序的退出状态,返回一个包含状态码和输出的元组

ret=subprocess.getstatusoutput('date')

call()退出状态

ret=subprocess.call('date')

ret2=subprocess.call('date -u',shell=True) #调用shell

ret3=subprocess.call(['date','-u'])

使用multiprocessing模块运行多进程

importmultiprocessingimportosdefdo_this(what):

whoami(what)defwhoami(what):print('Process %s says: %s.'%(os.getpid(),what))if __name__=='__main__':

whoami('I'm the main program')

for n in range(4):

p=multiprocessing.Process(target=do_this,args=("I'm the function %s"%n,))

p.start()

使用terminate()终止进程

importmultiprocessingimporttimeimportosdefwhoami(name):print("I'm %s, in process %s."%(name,os.getpid()))defloopy(name):

whoami(name)

start=1stop=1000000

for num inrange(start,stop):print(" Number %s of %s. Honk!"%(num,stop))

time.sleep(1)if __name__=="__main__’:

whoami('main')

p=multiprocessing.Process(target=loopy,args=("loopy",))

p.start()

time.sleep(5)

p.terminate()

4、日期和时间

isleap()检验闰年

importcalendar>>>calendar.isleap(1900)

False>>>calendar.isleap(2000)

True

datetime模块:

date处理年月日

time处理时分秒、微秒

datetime处理日期和时间同时出现的情况

timedelta处理日期和/或时间间隔

创建date对象.date范围从1-1-1到9999-12-31.

import datetime importdate

t1=date(2014,10,31)>>>t1.day31

>>>t1.month10

>>>t1.year2014

>>>t1.isoformat()#ISO 8601标准

'2014-10-31'

today()生成今天日期

now=date.today()

使用timedelta对象实现date加法

from datetime importdate,timedelta

one_day=timedelta(days=1)

tomorrow=now+one_day

yesterday=now-one_day

创建time对象

from datetime importtime

noon=time(12,0,0)>>>noon.hour12

>>>noon.minute

0>>>noon.second

0>>>noon.microsecond

0

创建datetime对象

from datetime importdatetime

some_day=datetime(2014,1,2,3,4,5,6)>>>some_day.isoformat()'2014-01-02T03:04:05.000006'now=datetime.now()

combine()将一个date对象和一个time对象合并为一个datetime对象。

from datetime importtime,date,datetime

noon=time(12)

this_day=date.today()

noon_today=datetime.combine(this_day,noon)>>>noon_today.date()>>>noon_today.time()

使用time模块

time()

importtime

now=time.time() #从1970.1.1零点开始的秒数(纪元值)

>>>time.ctime(now) #转换为字符串,包含年月日星期时分秒

localtime()返回当前系统时区下时间,gmtime()返回UTC时间,两者返回struct_time对象。使用mktime()函数可以将struct_time对象转为纪元值,但是只能精确到秒。

now=time.time()

t1=time.localtime(now)

t2=time.gmtime(now)>>>time.mktime(t1)

读写日期和时间

strftime()把日期和时间转换为字符串,该方法在datetime、date、time对象里有,time模块也有。

%Y:年,范围:1900-...

%m:月,范围:01-12

%B:月名

%b:月名缩写

%A:星期

%a:星期缩写

%H:时,24小时制,00-23

%I:时,12小时制,01-12

%p:上午/下午,AM/PM

%M:分,00-59

%S:秒,00-59

数字左侧补零。

importtime

fmt="It's %A, %B %d, %Y, local time %I:%M:%S%p"t=time.localtime()>>>time.strftime(fmt,t)

date对象的strftime()函数只能获取日期部分,时间默认为午夜;time对象的strftime()函数只会转换时间部分,日期为1900-1-1.

将字符串转为日期或时间,可以用strptime()函数。字符串的非格式化部分必须完全匹配,需要带有破折号分隔。返回一个struct_time对象。

importtime

fmt="%Y-%m-%d"

>>>time.strptime("2012-01-29",fmt)

setlocal()修改不同国家语言的月和日名称。

第一个参数为日期,第二个参数为结合语言和国家名称的缩写字符串。可以用local.local_alias.keys()获取所有值。

importlocalefrom datetime importdate

tt=date(2014,10,31)for lang_country in ['en_us','fr_fr','de_de','es_es','is_is']:print(locale.setlocale(local.LC_TIME,lang_country))print(tt.strftime('%A,%B %d'))

names=locale.locale_alias.keys()

good_names=[name for name in names if len(name)==5 and name[2]=='_']#获取特定格式的缩写

de=[name for name in good_names if name.startwith('de')]#获取德国语言

python系统-python 系统相关操作相关推荐

  1. Json概述以及python对json的相关操作(至尊宝错过了紫霞仙子,难道你也要错过python对json的相关操作吗?)

    Json概述以及Python对json的相关操作: 什么是json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析 ...

  2. python对文件的相关操作

    python对文件的相关操作 保存图片 打开文件夹 选择文件打开 后续 保存图片 import cv2 cv2.imwrite('D:\\1.png', img_s) # img是你要保存的图片 打开 ...

  3. python 计时_Python计时相关操作详解【time,datetime】

    本文实例讲述了Python计时相关操作.分享给大家供大家参考,具体如下: 内容目录: 1. 时间戳 2. 当前时间 3. 时间差 4. python中时间日期格式化符号 5. 例子 一.时间戳 时间戳 ...

  4. Python对象类型及相关操作

    文章目录 Python对象类型 对象操作函数 1.数字类型 常用的算术运算符: 数字运算相关的内置函数: math模块中的常用函数: 2.字符串 1.字符编码 2.字符串表示 3.转义字符串 4.字符 ...

  5. 20230209 Python的列表及相关操作

    一.认识列表 案例:定义变量保存一个班所有学生的分数 scores = [33, 44, 90, 100, 77, 82, 0, 93, 99, 94] 求平均分 print(sum(scores) ...

  6. Python Day5 列表及相关操作【零基础】

    Day5 列表 文章目录 Day5 列表 1. 列表的作用 1.2 普通运用 2.2 列表运用 2. 认识列表 2.1 什么是列表(list) 2.2 空列表 2.3 列表中元素的类型 2.4 列表中 ...

  7. python对json的相关操作

    From:  http://www.cnblogs.com/coser/archive/2011/12/14/2287739.html 什么是json: JSON(JavaScript Object ...

  8. Python数据加密与解密相关操作(hashlib、hmac、random、base64、pycrypto)

    本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...

  9. python中文件的相关操作和函数

    文件操作 fp = open("文件名",mode="模式",encoding="utf-8") fp -> 文件的io对象 (文件句 ...

  10. 正则表达式及其在Java和Python中的相关操作

    1.PCRE表达式全集1 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符(有^$()*+?.[\{|共计12个)或一个向后引用或一个八进制转义符 ^ 匹配输入字符串的开始位置 $ 匹配 ...

最新文章

  1. ubuntu 运行c++_06_Linux下VSCode简单编程(远程开发WSL_Ubuntu_18.04) | C语言入门
  2. RestTemplate配置使用OkHttpClient示例
  3. python(matplotlib3)——ticks(坐标刻度)能见度
  4. C语言堆排序Heap Sort算法(附完整源码)
  5. gitl更新最近代码_常见的蓝屏代码以及解决方法
  6. ibus无法出现选择框如何解决
  7. 如何找到cache-control header是从后台何处设置的
  8. linux php 上级目录,Linux目录架构详解_php
  9. Python笔记-BeautifulSoup基本用法(通过标签及class定位元素)
  10. 如何在Linux/MacOS系统上安装Microsoft SQL Server
  11. js默认点击一次_JavaScript初学者,一个小小的点击案例。
  12. MIPS32-单周期数据通路设计
  13. 给pdf加水印的方法
  14. ValueError:only one element tensors can be converted to Python scalars解决办法
  15. 平均成绩是计算数学计算机英语三门,创建一个查询,计算并显示“学号”和“平均成绩”两个字段内容,其中平均成绩 是计算数学、计算机和英语_开卷宝...
  16. FreeSWITCH的传真发送
  17. 生信宝典教程大放送,一站式学习生信技术
  18. Execl操作基础——自动填充空白单元格
  19. esp8266 wifi模块的使用
  20. 理解jquery的$.extend()、$.fn和$.fn.extend()

热门文章

  1. ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)
  2. 字节流与字符流基本操作
  3. JS callee 的例子
  4. 实验二:用机器指令和汇编指令编程
  5. Android 适配底部返回键等虚拟键盘的完美解决方案
  6. 循环调用dll库的界面时,首次正常,再次无响应
  7. VS2017增加数据库连接串
  8. 各种大型网站技术架构
  9. 【转】Silverlight全开源工作流设计器
  10. Solr的函数查询(FunctionQuery)