python学习笔记(四)

0.假设你现在拿到了一个英语句子,需要把这个句子中的每一个单词拿出来单独处理。
sentence = 'I am an Englist sentence'
这时就需要对字符串进行分割。
sentence.split()
split()会把字符串按照其中的空格进行分割,分割后的每一段都是一个新的字符串,最终返回这些字符串组成一个list。于是得到
['I', 'am', 'an', 'Englist', 'sentence']


原来字符串中的空格不再存在。除了空格外,split()同时也会按照换行符\n,制表符\t进行分割。所以应该说,split默认是按照空白字符进行分割。
之所以说默认,是因为split还可以指定分割的符号。比如你有一个很长的字符串
section = 'Hi. I am the one. Bye.'
通过指定分割符号为'.',可以把每句话分开


section.split('.')


得到
['Hi', ' I am the one', ' Bye', '']
这时候,'.'作为分割符被去掉了,而空格仍然保留在它的位置上。
注意最后那个空字符串。每个'.'都会被作为分割符,即使它的后面没有其他字符,也会有一个空串被分割出来。例如


'aaa'.split('a')
将会得到['', '', '', ''],由四个空串组成的list。


11.join
join则是把一个list中的所有字符串连接成一个字符串。


首先你需要有一个字符串作为list中所有元素的连接符,然后再调用这个连接符的join方法,join的参数是被连接的list:
s = ';'


li = ['apple', 'pear', 'orange']


fruit = s.join(li)


print fruit


得到结果'apple;pear;orange'。


也可以直接在shell中输入:
';'.join(['apple', 'pear', 'orange'])


用来连接的字符串可以是多个字符,也可以是一个空串:
''.join(['hello', 'world'])
得到'helloworld',字符串被无缝连接在一起。


12.符串的一些与list相似的操作:
1) 遍历


通过for...in可以遍历字符串中的每一个字符。
word = 'helloworld'
for c in word:
    print c
2) 索引访问
通过[]加索引的方式,访问字符串中的某个字符。
print word[0]
print word[-2]
与list不同的是,字符串不能通过索引访问去更改其中的字符。
word[1] = 'a'
这样的赋值是错误的。
3) 切片
通过两个参数,截取一段子串,具体规则和list相同。
print word[5:7]
print word[:-5]
print word[:]
4) 连接字符
join方法也可以对字符串使用,作用就是用连接符把字符串中的每个字符重新连接成一个新字符串。
newword = ','.join(word)


2016/10/14 16:17


1.读文件
要读取文件,先得有文件。我们新建个文件,就叫它data.txt。在里面随便写上一些话,保存。把这个文件放在接下来你打算保存代码的文件夹下,这么做是为了方便我们的程序找到它。
打开一个文件的命令很简单:
file('文件名')
这里的文件名可以用文件的完整路径,也可以是相对路径。因为我们把要读取的文件和代码放在了同一个文件夹下,所以只需要写它的文件名就够了。
f = file('data.txt')
但这一步只是打开了一个文件,并没有得到其中的内容。变量f保存了这个文件,还需要去读取它的内容。你可以通过read()函数把文件内所有内容读进一个字符串中。
data = f.read()
做完对文件的操作之后,记得用close()关闭文件,释放资源。虽然现在这样一个很短的程序,不做这一步也不会影响运行结果。但养成好习惯,可以避免以后发生莫名的错误。
ex:
f = file('data.txt')
data = f.read()
print data
f.close()
读取文件内容的方法还有
readline() #读取一行内容
readlines() #把内容按行读取至一个list中




2.写文件
python默认是以只读模式打开文件。如果想要写入内容,在打开文件的时候需要指定打开模式为写入:


f = file('output.txt', 'w')


'w'就是writing,以这种模式打开文件,原来文件中的内容会被你新写入的内容覆盖掉,如果文件不存在,会自动创建文件。
不加参数时,file为你默认为'r',reading,只读模式,文件必须存在,否则引发异常。
另外还有一种模式是'a',appending。它也是一种写入模式,但你写入的内容不会覆盖之前的内容,而是添加到文件中。


打开文件还有一种方法,就是open(),用法和file()是一致的。
ex:
data = 'I will be in a file.\nSo cool!'
out = open('output.txt', 'w')
out.write(data)
out.close()


写入内容的方法同样简单:
f.write('a string you want to write')


write的参数可以是一个字符串,或者一个字符串变量。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值