Python文件访问
open访问模式 说明
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
文件操作方法
fd.close():不执行fd.close(),python程序退出的时候也会close文件
fd.read()
fd.readline()
fd.readlines() :返回一个列表,每个元素都会加上一个换行符\n
next():一行一行读取
fd.write()
for循环访问文件
第一种 readlines全部把文件内容读到内存
with open('C:\Users\Administrator\Desktop\mRemoteNG\mRemoteNG-Portable-1.69\CREDITS.TXT') as fd:
for line in fd.readlines():
print(line)
第二种 一行一行的读到内存 比较节省内存
with open('C:\Users\Administrator\Desktop\mRemoteNG\mRemoteNG-Portable-1.69\CREDITS.TXT') as fd:
for line in fd:
print(line)
if fd.next().startswith('VncSharp'):
break
这里的fd是一个对象,有fd.next()方法,是显示文件下一行,那么for i in fd就相当于一直在执行fd.next()方法,直到文件结束
while循环访问文件
with open('C:\Users\Administrator\Desktop\mRemoteNG\mRemoteNG-Portable-1.69\CREDITS.TXT') as fd:
while True:
line = fd.readline()
print(line)
if not line:
break
字符串的startswith函数和split函数
startswith()函数:匹配字符串中的行,完全匹配,不能模糊匹配
split()函数:切割字符串,默认以空格为分隔符
isdigit()函数:判断字符串是否是数字
string.digits函数:返回数字0123456789
import os
import sys
import string
def isNum(s):
for i in s:
if i in string.digits:
if i.isdigit():
continue
else:
return False
return True
if isNum(sys.argv[1]):
print(sys.argv[1])