将数据保存到文件
基础
# open():返回一个文件对象
# r:read,读取所有数据,包括换行符等
# w:write,若存在则覆盖,若不存在则新建
# a:append 附加到末尾
myfile = open("hello.txt", "w") # 写入模式,将数据保存到文件
myfile.write("Hello World!\n") # 将指定数据保存到文件
myfile.write("We're learning coding!\n") # 将指定数据保存到文件
myfile.close() # 保存并关闭文件
#末尾附近
with open("hello.txt","a") as myfile:
myfile.write("123")
myfile.write("dfa")
#读取文本
try:
myfile=open("hello.txt","r")
for text_line in myfile:
print(text_line,end="")
myfile.close()
except OSError as err:
print(err)
#一次读取整个文件,读取完会自动关闭文件
text_data =open("hello.txt","r").read()
print(text_data)
#读整个文件,数据分解成单独的行
text_list =open("hello.txt","r").readlines()
for line in text_list:
print(line,end="")
数据太多,想用二维列表
myfile = open("曹坪.asc") # 默认r(读)
print(myfile.readlines()) # readlines()一次读取所有行并返回列表
# 2.对读入的字符串进行操作,信息分类放入数组或者变量中
mylist = [] # 定义一个列表,后面用来存list,扩展为二维列表
while True:
line = myfile.readline() # 读取一行,但返回的是字符串
if not line: # if not是用于判断变量是否为None的语句
break
list = line.split() # 将字符串以空格分割,并存储在一个列表中
mylist.append(list) # 将一维列表加入二维列表中
# 3.数据可以输出查看或者从变量窗口查看
for i in range(len(mylist)):
print(mylist[i])
导入模块
- sys:命令行参数、终止程序
from sys import argv,exit
- time
time.sleep(1) #暂停执行的指定秒数
time.strftime("%H:%M") #获取时间 小时:分钟(24小时制)
%S:秒
%A:周几
%B:英文月份
%m:数字月份
%Y:年
%Z:时区
- math
math.pi
- random
import random
random.seed() # 初始化python随机数生成器
for x in range(1, 101):
print(random.randint(1, 10), end=" ") # 返回1~10的数值
- os:包含普遍的操作系统功能,可以处理文件和目录这些我们日常手动需要做的操作。
(1)os.getcwd():函数得到当前工作目录,即当前Python脚本工作的目录路径
(2)os.listdir():返回指定目录下的所有文件和目录名
(3)os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录
(4)os.path.exists()函数用来检验给出的路径是否真地存在
(5)os.path.abspath(name):获得绝对路径。
(6)os.path.normpath(path):规范path字符串形式
(7)os.path.getsize(name):获得文件大小,如果name是目录返回0L
(8)os.path.splitext():分离文件名与扩展名
(9)os.path.basename(path):返回文件名
(10)os.path.dirname(path):返回文件路径
判断输入的文件是否在当前路径下:
import os
def input_filename():
filename = input("请输入您想要处理的文件名(请务必完整输入,包括后缀名哦):")
flag = True # 标志,当输入正确的文件名时跳出循环
while flag:
if filename is "":
print("不能为空!请您输入正确的文件名:")
filename = input()
elif not os.path.exists(filename): # 暂时讨论当前目录下
print("您输入的文件名不在当前目录下,请您重新输入:")
filename = input()
else:
flag = False
return filename
类及其实例化
class Myclass: # 类定义
def say_hello(self): # 类函数,也称方法
print("hello")
x = Myclass() # 实例化对象
x.say_hello() # 调用
使用__init__
class Employee:
#Java中这个叫构造方法
def __init__(self, passed_name, passed_number): # __init__:类实例在创建时自动执行 ,self:引用对象自己的变量拷贝
self.name = passed_name
self.number = passed_number
def show(self): # self:保存在对象中,并在对象的所有方法中共享
print(self.name,end=" ")
print(self.number)
first = Employee("Bob", 123)
second = Employee("Steve", 344)
first.show()
second.show()
python里面下划线的含义
前后双下划线__data__:Python内部调用的,我们根本就不用管怎么调用
前面加下划线_ name:该属性或者方法是私有的
后面加下划线class_ :为了防止跟系统关键字重名
前面两个下划线__data:私有的变量和函数,子类不能用,在该表示下,我们无法直接进行访问,但是可以通过_Class__A的方法进行访问