返回顶部
首页 > 资讯 > 后端开发 > Python >Python PK shell ----
  • 502
分享到

Python PK shell ----

PythonPKshell 2023-01-31 01:01:51 502人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

 根据文件输出文件内容 #!/usr/bin/env python import sys filename=raw_input("Enter the filename: ") fobj=open(filenam

 根据文件输出文件内容
#!/usr/bin/env python
import sys
filename=raw_input("Enter the filename: ")
fobj=open(filename,"r")

for eachline in fobj:
print eachline.strip()

root@scpman:/usr/code# ./a.py
Enter the filename: a.txt
aaabbb
cc
dd
1234567
nihao
root@scpman:/usr/code#

2、计算一个文件中,一个字符的出现个数
#!/usr/bin/env Python
import sys
filename=raw_input("Enter the filename: ")
fobj=open(filename,"r")
#print type(fobj)
#print fobj
a=0
for eachline in fobj:
a += eachline.strip().count('a')
# print a

print a

3、替换文件的字符(a->F)
#!/usr/bin/env python
import sys
filename=raw_input("Enter the filename: ")
fobj=open(filename,"r")


for eachline in fobj:
a=eachline.strip().replace('a','F') #可以是FBI,一个字符可以替换成多个字符的
print a


在python有各种各样的string操作函数。在历史上string类在python中经历了一段轮回的历史。在最开始的时候,python有一个专门的string的module,要使用string的方法要先import,但后来由于众多的python使用者的建议,从python2.0开始, string方法改为用S.method()的形式调用,只要S是一个字符串对象就可以这样使用,而不用import。同时为了保持向后兼容,现在的 python中仍然保留了一个string的module,其中定义的方法与S.method()是相同的,这些方法都最后都指向了用S.method ()调用的函数。要注意,S.method()能调用的方法比string的module中的多,比如isdigit()、istitle()等就只能用 S.method()的方式调用。

对一个字符串对象,首先想到的操作可能就是计算它有多少个字符组成,很容易想到用S.len(),但这是错的,应该是len(S)。因为len()是内置函数,包括在__builtin__模块中。python不把len()包含在string类型中,乍看起来好像有点不可理解,其实一切有其合理的逻辑在里头。len()不仅可以计算字符串中的字符数,还可以计算list的成员数,tuple的成员数等等,因此单单把len()算在string里是不合适,因此一是可以把len()作为通用函数,用重载实现对不同类型的操作,还有就是可以在每种有len()运算的类型中都要包含一个len()函数。 python选择的是第一种解决办法。类似的还有str(arg)函数,它把arg用string类型表示出来。

字符串中字符大小写的变换:

S.lower() #小写
S.upper() #大写
S.swapcase() #大小写互换
S.capitalize() #首字母大写
String.capWords(S)
#这是模块中的方法。它把S用split()函数分开,然后用capitalize()把首字母变成大写,最后用join()合并到一起
S.title() #只有首字母大写,其余为小写,模块中没有这个方法


字符串在输出时的对齐:

S.ljust(width,[fillchar])
#输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空格。
S.rjust(width,[fillchar]) #右对齐
S.center(width, [fillchar]) #中间对齐
S.zfill(width) #把S变成width长,并在右对齐,不足部分用0补足

字符串中的搜索和替换:

S.find(substr, [start, [end]])
#返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1。start和end作用就相当于在S[start:end]中搜索
S.index(substr, [start, [end]])
#与find()相同,只是在S中没有substr时,会返回一个运行时错误
S.rfind(substr, [start, [end]])
#返回S中最后出现的substr的第一个字母的标号,如果S中没有substr则返回-1,也就是说从右边算起的第一次出现的substr的首字母标号
S.rindex(substr, [start, [end]])
S.count(substr, [start, [end]]) #计算substr在S中出现的次数
S.replace(oldstr, newstr, [count])
#把S中的oldstar替换为newstr,count为替换次数。这是替换的通用形式,还有一些函数进行特殊字符的替换
S.strip([chars])
#把S中前后chars中有的字符全部去掉,可以理解为把S前后chars替换为None
S.lstrip([chars])
S.rstrip([chars])
S.expandtabs([tabsize])
#把S中的tab字符替换没空格,每个tab替换为tabsize个空格,默认是8个
字符串的分割和组合:

S.split([sep, [maxsplit]])
#以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符
S.rsplit([sep, [maxsplit]])
S.splitlines([keepends])
#把S按照行分割符分为一个list,keepends是一个bool值,如果为真每行后而会保留行分割符。
S.join(seq) #把seq代表的序列──字符串序列,用S连接起来

字符串的mapping,这一功能包含两个函数:

String.maketrans(from, to)
#返回一个256个字符组成的翻译表,其中from中的字符被一一对应地转换成to,所以from和to必须是等长的。
S.translate(table[,deletechars])
# 使用上面的函数产后的翻译表,把S进行翻译,并把deletechars中有的字符删掉。需要注意的是,如果S为unicode字符串,那么就不支持 deletechars参数,可以使用把某个字符翻译为None的方式实现相同的功能。此外还可以使用codecs模块的功能来创建更加功能强大的翻译表。
字符串还有一对编码和解码的函数:

S.encode([encoding,[errors]])
# 其中encoding可以有多种值,比如gb2312 gbk gb18030 bz2 zlib big5 bzse64等都支持。errors默认值为"strict",意思是UnicodeError。可能的值还有'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 和所有的通过codecs.reGISter_error注册的值。这一部分内容涉及codecs模块,不是特明白

S.decode([encoding,[errors]])
字符串的测试函数,这一类函数在string模块中没有,这些函数返回的都是bool值:

S.startwith(prefix[,start[,end]])
#是否以prefix开头
S.endwith(suffix[,start[,end]])
#以suffix结尾
S.isalnum()
#是否全是字母和数字,并至少有一个字符
S.isalpha() #是否全是字母,并至少有一个字符
S.isdigit() #是否全是数字,并至少有一个字符
S.isspace() #是否全是空白字符,并至少有一个字符
S.islower() #S中的字母是否全是小写
S.isupper() #S中的字母是否便是大写
S.istitle() #S是否是首字母大写的

字符串类型转换函数,这几个函数只在string模块中有:

string.atoi(s[,base])
#base默认为10,如果为0,那么s就可以是012或0x23这种形式的字符串,如果是16那么s就只能是0x23或0X12这种形式的字符串
string.atol(s[,base]) #转成long
string.atof(s[,base]) #转成float

这里再强调一次,字符串对象是不可改变的,也就是说在python创建一个字符串后,你不能把这个字符中的某一部分改变。任何上面的函数改变了字符串后,都会返回一个新的字符串,原字串并没有变。其实这也是有变通的办法的,可以用S=list(S)这个函数把S变为由单个字符为成员的list,这样的话就可以使用S[3]='a'的方式改变值,然后再使用S=" ".join(S)还原成字符串

--结束END--

本文标题: Python PK shell ----

本文链接: https://lsjlt.com/news/185161.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python PK shell ----
     根据文件输出文件内容 #!/usr/bin/env python import sys filename=raw_input("Enter the filename: ") fobj=open(filenam...
    99+
    2023-01-31
    Python PK shell
  • pk主键有什么用
    这篇文章将为大家详细讲解有关pk主键有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PK有很多种意思,可是在计算机的数据库里有着不一样的含义。他对应表的主键(pri...
    99+
    2024-04-02
  • Android如何实现pk进度条
    要实现Android上的PK进度条,可以使用ProgressBar控件来实现。以下是一个简单的示例:1. 在XML布局文件中添加Pr...
    99+
    2023-08-12
    Android
  • mongodb与mysql全表扫描能力PK
    nosql的数据在内存里,而传统rdbms,某个select第一次执行的时候,如果发现内存里没有需要的数据(比如mysql的innodb buffer pool),会去从磁盘读取,然后再开始计算,...
    99+
    2024-04-02
  • Node.js Redis 与 Node.js:缓存性能的终极PK
    Redis 和 Node.js 内置缓存都是用于 Node.js 应用程序中的流行缓存解决方案。以下是两者的详细比较: 性能指标: 1. 吞吐量: Redis:极高,每秒可处理数百万次请求。 Node.js 内置缓存:较低,受内存和 C...
    99+
    2024-04-03
    Node.js Redis Node.js 内置缓存:性能终极对决
  • python 读shell
    test_txt = '/home/zcm/tensorf/siamfc-tf-master/data/Biker/groundtruth.txt'def load_label_set(label_dir):label_folder = o...
    99+
    2023-01-31
    python shell
  • PHP 数组键值颠倒,性能影响大 PK
    使用 array_flip() 顛倒數組鍵值對性能影響:執行時間隨數組大小呈 o(n^2) 增長。實際案例:通過值獲取關聯數組的鍵。 PHP 数组键值颠倒:对性能的影响及实战案例 在 ...
    99+
    2024-05-04
    php 数组
  • shell perl python 剖析
    先不用说"无论什么语言都是一种工具"。工具是我们身体的一部分,解放军解放台湾靠"小米加***" "工具无所谓"论可以休矣。对于实际的软件工程工具和平台的选择是很重要的,有时候是致命的1. perl是强大的, perl=shell+awk+s...
    99+
    2023-01-31
    shell perl python
  • Python调用adb shell
    在Android开发中,ADB(Android Debug Bridge)是一个非常重要的工具。它可以让我们通过命令行或者其他的客户端与安装了ADB驱动的Android设备进行通信,并进行一些调试操作。 Python作为一门灵活强大的语言,...
    99+
    2023-08-19
    python adb
  • i5 3470+XSB75M-PK+HD 7750安装黑苹果macOS Big Sur 11.7.7
    我本次使用的是 HD 7750 进行安装黑苹果(闲鱼80元买的),这款显卡直接就是免驱,最高可以安装的版本是 macOS Monterey ,但是建议安装至 macOS Big Sur 以获得较好的体验。 EFI(OC引导) EFI.z...
    99+
    2023-09-02
    macos
  • 服务器、容器和虚拟机,性能PK大比拼!
    服务器、容器和虚拟机,各有千秋 服务器、容器和虚拟机都是计算环境,但它们在资源管理、隔离性和安全性等方面存在差异。服务器是一种物理计算机,而容器和虚拟机都是软件环境,可以在单个服务器上运行。容器是一种轻量级的操作系统,它共享服务器的操作系...
    99+
    2024-02-22
    服务器 容器 虚拟机 性能 测试 代码 演示 对比
  • 操作系统虚拟机大PK:哪一款最适合你?
    虚拟机技术是一种在单台物理机上运行多个相互隔离的操作系统环境的技术,它允许用户在同一台计算机上运行不同的操作系统,同时保证每个操作系统都能够独立运行,互不干扰。虚拟机技术被广泛用于服务器、桌面和嵌入式系统中,为用户提供了更多的灵活性、安...
    99+
    2024-02-10
    虚拟机 操作系统 隔离 资源共享 性能
  • Shell/Python实现Mysql读
    文本:ttt.txt 共7774865条记录显示部分文本内容如下:"OBJECT_ID","OBJECT_NAME","CREATED""20","ICOL$","2013/10/9 18:23:42""46","I_USER1","201...
    99+
    2023-01-31
    Shell Python Mysql
  • python 与ADB shell交互
    python交互 使用subprocess 使设备具有部分Linux命令 python脚本:下载busybox,并且放在与脚本相同的目录下 # coding:utf-8 # 这个脚本用于使环境拥有busybox的环境 impo...
    99+
    2023-01-31
    python ADB shell
  • 解决 Python shell 中 De
    进入 Python shell,按下 Delete/Backspace 键,会出现 ^H 字符。命令输入错误后只能从头开始,无法删除,让人很头疼。为了便于后期使用,分享一个一劳永逸的方式。 | 版权声明:一去、二三里,未经博主允...
    99+
    2023-01-31
    Python shell De
  • python中的shell操作
     python中的shell操作   首先介绍一个函数: os.system(command) 这个函数可以调用shell运行命令行command并且返回它的返回值。试一下在python的解释器里输入os.system(”ls -l”),...
    99+
    2023-01-31
    操作 python shell
  • 详谈python中subprocess shell=False与shell=True的区别
    shell=True参数会让subprocess.call接受字符串类型的变量作为命令,并调用shell去执行这个字符串,当shell=False是,subprocess.call只...
    99+
    2024-04-02
  • Python Shell vs Django Shell:你应该选择哪一个?
    Python和Django都是非常流行的编程框架,它们都有自己的命令行工具——Python Shell和Django Shell。这两个工具都可以帮助开发者轻松地测试代码、调试程序、执行脚本等等。但是,当你需要在Python和Django...
    99+
    2023-07-26
    http django shell
  • python中Scrapy shell的使用
    前言: 我们想要在爬虫中使用xpath、beautifulsoup、正则表达式,css选择器等来提取想要的数据,但是因为scrapy是一个比较重的框架,每次运行都要等到一段时间,因此...
    99+
    2024-04-02
  • python Scrapy shell怎么使用
    本文小编为大家详细介绍“python Scrapy shell怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“python Scrapy shell怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作