os.path.abspath(path) #返回绝对路径
1.2 Python os.listdir
在Python os.listdir 中我们可以列出关于dir 里面的所有的相关文件与目录的具体操作方案的介绍,以及我们在实际如何用Python中的os.path.isfile()函数来判断相关路径是否为文件的操作方案,以下是文章的具体介绍。
Python判断是否为文件在Python os.listdir 函数判断某一路径是否为文件。其函数原型如下所示。
- os.path.isfile(path)
其参数含义如下。path:要进行判断的路径。以下实例判断E:\book\temp是否为文件。
- >>> import os
- >>> os.path.isfile('E:\\book\\temp')
判断是否为文件
- False
表示E:\book\temp不是文件列出目录中所有文件的方法
关键字:
前面的Python os.listdir 可以列出 dir 里面的所有文件和目录,但不包括子目录中的内容。os.walk 可以遍历下面的所有目录,包括子目录。
- dirimport string, os, sys
- dir = '/var'
- print '----------- no sub dir'
- files = os.listdir(dir)
- for f in files:
- print dir + os.sep + f
- print '----------- all dir'
- for root, dirs, files in os.walk(dir):
- for name in files:
- print os.path.join(root, name)
1.3 字符串处理
判断 – 通常返回一个bool值 | |
str.isalpha() | 是否只包含文字 |
str.isdecimal() | 是否只包含数字(多语言数字) |
str.isdigit() | 是否只包含数字(0~9) |
str.isnumeric() | 是否只包含数字字符 |
str.isalnum() | 是否只包含文字和数字 |
str.isidentifier() | 是否是合法标识符 |
str.islower() | 是否是小写 |
str.isupper() | 是否全是大写 |
str.istitle() | 是否每词首字母大写 |
str.isprintable() | 是否只包含可打印字符 |
str.isspace() | 是否只包含空白字符 |
str.startswith(prefix[, start[, end]]) | 是否以prefix开头 |
str.endswith(suffix[, start[, end]]) | 是否以suffix结尾 |
修饰 – 通常返回一个修饰后的字符串 | |
str.capitalize() | 返回一个首字母大写的字符串 |
str.title() | 返回每个词首字母大写的字符串 |
str.expandtabs([tabsize]) | "\t"转换成空格 |
str.upper() | 全转换成大写 |
str.lower() | 全转换成小写 |
str.ljust(width[, fillchar]) | 左对齐,右填充 |
str.rjust(width[, fillchar]) | 右对齐,左填充 |
str.center(width[, fillchar]) | 居中,两边填充 |
str.lstrip([chars]) | 去除左空白或自定字符 |
str.rstrip([chars]) | 去除右空白或自定字符 |
str.strip([chars]) | 去除两边空白或自定字符 |
str.swapcase() | 大小写互转 |
str.zfill(width) | 左侧填充0到指定宽,一般用来修饰数字 |
查找&&替换 | |
str.count(sub[, start[, end]]) | 计算[start, end)间,sub出现次数 |
str.find(sub[, start[, end]]) | |
str.index(sub[, start[, end]]) | |
str.rfind(sub[, start[, end]]) | |
str.rindex(sub[, start[, end]]) | |
str.replace(old, new[, count]) | |
拆分&&组合 | |
str.join(iterable) | |
str.partition(sep) | |
str.rpartition(sep) | |
str.split([sep[, maxsplit]]) | |
str.rsplit([sep[, maxsplit]]) | |
str.splitlines([keepends]) | |
转换 | |
hex(x) | |
int([number | string[, base]]) | |
len(s) | |
list([iterable]) | |
oct(x) | |
ord(c) | |
repr(object) | |
reversed(seq) | |
str([object[, encoding[, errors]]]) |
↑TOP↑str.isalpha() – 是否只包含文字
代码 | 结果 |
print( "中国abc".isalpha() ) | True |
print( " ".isalpha() ) | False |
print( "123".isalpha() ) | False |
print( "".isalpha() ) | False |
↑TOP↑str.isdecimal() – 是否只包含十进制数字,包括多语言数字
代码 | 结果 |
print( "1234567890".isdecimal() ) | True |
print( "\u0660".isdecimal() ) | True |
print( "abc".isdecimal() ) | False |
print( "".isdecimal() ) | False |
关于其他语言的数字参见 http://www.fileformat.info/info/unicode/category/Nd/list.htm
↑TOP↑str.isdigit() – 是否只包含数字(0~9)
代码 | 结果 |
print( "1234567890".isdigit() ) | True |
print( "\u0660".isdigit() ) | True |
print( "abc".isdigit() ) | False |
print( "".isdigit() ) | False |
↑TOP↑str.isnumeric() – 是否只包含数字字符
代码 | 结果 |
print( "1234567890".isnumeric() ) | True |
print( "\u2155".isnumeric() ) | True |
print( "abc".isnumeric() ) | False |
print( "".isnumeric() ) | False |
关于数字字符参见 http://www.fileformat.info/info/unicode/category/No/list.htm
↑TOP↑str.isalnum() – 是否只包含文字和数字
代码 | 结果 |
print( "中国abc123456\u2155".isalnum() ) | True |
print( " ".isalnum() ) | False |
print( "\t".isalnum() ) | False |
print( "".isalnum() ) | False |
↑TOP↑str.isidentifier() – 是否是合法标识符
代码 | 结果 |
print( "if".isidentifier() ) | True |
print( "中国".isidentifier() ) | True |
print( "123".isidentifier() ) | False |
print( "".isidentifier() ) | False |
↑TOP↑str.islower() – 是否是小写
代码 | 结果 |
print( "abc".islower() ) | True |
print( "aBc".islower() ) | False |
print( "中国".islower() ) | False |
print( "".islower() ) | False |
↑TOP↑str.isupper() – 是否全是大写
代码 | 结果 |
print( "HELLO WORLD".istitle() ) | True |
print( "Hello World".istitle() ) | False |
print( "世界你好".istitle() ) | False |
print( "".istitle() ) | False |
↑TOP↑str.istitle() – 是否每词首字母大写
代码 | 结果 |
print( "Hello World".istitle() ) | True |
print( "Hello world".istitle() ) | False |
print( "hello world".istitle() ) | False |
print( "".istitle() ) | False |
↑TOP↑str.isprintable() – 是否只包含可打印字符
代码 | 结果 |
print( "a b".isprintable() ) | True |
print( "".isprintable() ) | True |
print( "abc\t".isprintable() ) | False |
print( "abc\n".isprintable() ) | False |
↑TOP↑str.isspace() – 是否只包含空白字符
代码 | 结果 |
print( " ".isspace() ) | True |
print( "\t\n".isspace() ) | True |
print( "a b".isspace() ) | False |
print( "".isspace() ) | False |
↑TOP↑str.startswith(prefix[, start[, end]]) – 是否以prefix开头
代码 | 结果 |
print( "中国人".startswith("中") ) | True |
print( "中国人".startswith(("中国","我")) ) | True |
↑TOP↑str.endswith(suffix[, start[, end]]) – 是否以suffix结尾
代码 | 结果 |
print( "中国人".endswith("人") ) | True |
print( "中国人".endswith(("国人","我")) ) | True |
↑TOP↑str.capitalize() – 返回一个首字母大写的字符串
代码 | print( "the first sentence. the second sentence.".capitalize() ) |
结果 | The first sentence. the second sentence. |
↑TOP↑str.title() – 返回每个词首字母大写的字符串
代码 | print( "this is a title".title() ) |
结果 | This Is A Title |
↑TOP↑str.expandtabs([tabsize]) – "\t"转换成空格
代码 | "\t".expandtabs(8) |
结果 | ' ' |
↑TOP↑str.upper() – 全转换成大写
代码 | print( "abc".upper() ) |
结果 | ABC |
↑TOP↑str.lower() – 全转换成小写
代码 | print( "ABC".upper() ) |
结果 | abc |
↑TOP↑str.ljust(width[, fillchar]) – 左对齐,右填充
代码 | print( "我".ljust(4,"们") ) |
结果 | 我们们们 |
↑TOP↑str.rjust(width[, fillchar]) – 右对齐,左填充
代码 | print( "我".rjust(4,"=") ) |
结果 | ===我 |
↑TOP↑str.center(width[, fillchar]) – 居中,两边填充
代码 | print( "我是分割线".center(30, "=") ) |
结果 | ============我是分割线============= |
↑TOP↑str.lstrip([chars]) – 去除左空白或自定字符
代码 | ' spacious '.lstrip() |
结果 | 'spacious ' |
代码 | 'www.example.com'.lstrip('cmowz.') |
结果 | 'example.com' |
↑TOP↑str.rstrip([chars]) – 去除右空白或自定字符
代码 | ' spacious '.rstrip() |
结果 | ' spacious' |
代码 | 'mississippi'.rstrip('ipz') |
结果 | 'mississ' |
↑TOP↑str.strip([chars]) – 去除两边空白或自定字符
代码 | ' spacious '.strip() |
结果 | 'spacious' |
代码 | 'www.example.com'.strip('cmowz.') |
结果 | 'example' |
↑TOP↑str.swapcase() – 大小写互转
代码 | print( "Abc".swapcase() ) |
结果 | aBC |
↑TOP↑str.zfill(width) – 左侧填充0到指定宽,一般用来修饰数字
代码 | print( "15".zfill(8) ) |
结果 | 00000015 |
代码 | print( "-15".zfill(8) ) |
结果 | -0000015 |
↑TOP↑str.count(sub[, start[, end]]) – 计算[start, end)间,sub出现次数
代码 | print( "abababab" .count("abab" ) |
结果 | 2 |
注:非重叠计数,因此结果是2而不是3
1.4 datetime.datetime获取当前时间,并通过字符串输出。
格式为:%Y-%m-%d %H:%M:%S'
datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S' )
获取当前时间,但只保留日期
datetime.datetime.now().date()
将字符串转换为datetime类型
输入字符串格式为:'%Y-%m-%d'
datetime.datetime.strptime(time,'%Y-%m-%d')
print 'start at:',datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f' )
print 'start at:',time.strftime('%Y-%m-%d %H:%M:%S.%f', time.localtime(time.time()))
附录:
格式化符号汇总
%a 星期几的简写 Weekday name, abbr.
%A 星期几的全称 Weekday name, full
%b 月分的简写 Month name, abbr.
%B 月份的全称 Month name, full
%c 标准的日期的时间串 Complete date and time representation
%d 十进制表示的每月的第几天 Day of the month
%H 24小时制的小时 Hour (24-hour clock)
%I 12小时制的小时 Hour (12-hour clock)
%j 十进制表示的每年的第几天 Day of the year
%m 十进制表示的月份 Month number
%M 十时制表示的分钟数 Minute number
%S 十进制的秒数 Second number
%U 第年的第几周,把星期日做为第一天(值从0到53)Week number (Sunday first weekday)
%w 十进制表示的星期几(值从0到6,星期天为0)weekday number
%W 每年的第几周,把星期一做为第一天(值从0到53) Week number (Monday first weekday)
%x 标准的日期串 Complete date representation (e.g. 13/01/08)
%X 标准的时间串 Complete time representation (e.g. 17:02:10)
%y 不带世纪的十进制年份(值从0到99)Year number within century
%Y 带世纪部分的十制年份 Year number
%z,%Z 时区名称,如果不能得到时区名称则返回空字符。Name of time zone
%% 百分号
本文来自博客园,作者:{Julius},转载请注明原文链接:https://www.cnblogs.com/bestechshare/p/16447906.html
可微信加我,了解更多,WeChat:{KingisOK}