Python 基础(二)

文件的读写

读文件

f = open('test.txt','r')  
f.read()   
'1\n2\n3\n4\n5\n6\n7\n8\n9\n'
f.close() 
# 打开文件时是否出错,都可关闭文件
try :
    f =  open('test.txt','r') 
    print(f.read())
finally:
    if f:
        f.close()
1
2
3
4
5
6
7
8
9
# 打开文件写法
with open('test.txt','r') as f:
    print(f.read())
1
2
3
4
5
6
7
8
9
# 当文本很大时,进行选取部分读
with open('test.txt','r') as f:
    print(f.read(10))
1
2
3
4
5
with open('test.txt','r') as f:
    for line in f.readlines():   #返回行
        print(line)
1

2

3

4

5

6

7

8

9

**注:**f.readlines() 将返回该文件中包含的所有行。

写文件

字符编码
f = open('test.txt','r',encoding='gbk',errors='ignore')   
f.read()
f.close()

覆盖(write)

f = open('test.txt','w',encoding='gbk',errors='ignore')
f.write('xiao xue')  #文件中的内容被xiao xue 覆盖
f.close()
with open('test.txt','r') as f:
    print(f.read())
xiao xue

添加

f = open('test.txt','a',encoding='gbk',errors='ignore')
f.write('xiao ming')
f.close()
with open('test.txt','r') as f:
    print(f.read())
xiao xuexiao ming

StringIO

#在内存中读写String
from io import StringIO
f = StringIO()
f.write('xiao')
f.write(' ')
f.write('ming')
f.write('!')
1
print(f.getvalue())  #获取值
xiao ming!

BytesIO

from io import BytesIO
f = BytesIO()
f.write('早上好'.encode('utf-8'))
9
print(f.getvalue())
b'\xe6\x97\xa9\xe4\xb8\x8a\xe5\xa5\xbd'

文件操作和目录

import os  #导入操作系统接口模块
os.name  #获取当前操作系统类型——posix , nt , java, 对应linux/windows/java虚拟机
'nt'
os.environ  #获取环境变量
environ({'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\DELL\\AppData\\Roaming', 'CLASSPATH': '.;D:\\develop\\java\\jdk\\lib\\dt.jar;D:\\develop\\java\\jdk\\lib\\tools.jar', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'DESKTOP-751VMQV', 'COMSPEC': 'C:\\WINDOWS\\system32\\cmd.exe', 'CONDA_DEFAULT_ENV': 'base', 'CONDA_EXE': 'D:\\Anaconda1\\Scripts\\conda.exe', 'CONDA_PROMPT_MODIFIER': '(base) ', 'CONDA_PYTHON_EXE': 'D:\\Anaconda1\\python.exe', 'CONDA_ROOT': 'D:\\Anaconda1', 'CONDA_SHLVL': '1', 'DRIVERDATA': 'C:\\Windows\\System32\\Drivers\\DriverData', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Users\\DELL', 'JAVA_HOME': 'D:\\develop\\java\\jdk', 'LOCALAPPDATA': 'C:\\Users\\DELL\\AppData\\Local', 'LOGONSERVER': '\\\\DESKTOP-751VMQV', 'MYSQL': 'C:\\Program Files\\MySQL\\bin', 'NUMBER_OF_PROCESSORS': '4', 'ONEDRIVE': 'C:\\Users\\DELL\\OneDrive', 'ONEDRIVECONSUMER': 'C:\\Users\\DELL\\OneDrive', 'OS': 'Windows_NT', 'PATH': 'D:\\Anaconda1;D:\\Anaconda1\\Library\\mingw-w64\\bin;D:\\Anaconda1\\Library\\usr\\bin;D:\\Anaconda1\\Library\\bin;D:\\Anaconda1\\Scripts;D:\\Anaconda1\\bin;D:\\Anaconda1;D:\\Anaconda1\\Library\\mingw-w64\\bin;D:\\Anaconda1\\Library\\usr\\bin;D:\\Anaconda1\\Library\\bin;D:\\Anaconda1\\Scripts;D:\\Anaconda1\\Library\\bin;C:\\ProgramData\\Oracle\\Java\\javapath;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;D:\\develop\\java\\jdk\\bin;D:\\develop\\java\\jre\\bin;D:\\develop\\java\\jdk\\bin;D:\\develop\\java\\jdk\\jre\\bin;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\Program Files\\MySQL\\bin;C:\\Users\\DELL\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Program Files\\MySQL\\bin;', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'PROCESSOR_IDENTIFIER': 'AMD64 Family 22 Model 48 Stepping 1, AuthenticAMD', 'PROCESSOR_LEVEL': '22', 'PROCESSOR_REVISION': '3001', 'PROGRAMDATA': 'C:\\ProgramData', 'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PROMPT': '(base) $P$G', 'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules', 'PT7HOME': 'D:\\软件\\计算机网络\\Cisco Packet Tracer 7.1', 'PUBLIC': 'C:\\Users\\Public', 'PYTHONIOENCODING': '936', 'QT_DEVICE_PIXEL_RATIO': 'auto', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\WINDOWS', 'TEMP': 'C:\\Users\\DELL\\AppData\\Local\\Temp', 'TMP': 'C:\\Users\\DELL\\AppData\\Local\\Temp', 'USERDOMAIN': 'DESKTOP-751VMQV', 'USERDOMAIN_ROAMINGPROFILE': 'DESKTOP-751VMQV', 'USERNAME': 'DELL', 'USERPROFILE': 'C:\\Users\\DELL', 'WINDIR': 'C:\\WINDOWS', 'CONDA_PREFIX': 'D:\\Anaconda1', 'JPY_INTERRUPT_EVENT': '1524', 'IPY_INTERRUPT_EVENT': '1524', 'JPY_PARENT_PID': '1356', 'TERM': 'xterm-color', 'CLICOLOR': '1', 'PAGER': 'cat', 'GIT_PAGER': 'cat', 'MPLBACKEND': 'module://ipykernel.pylab.backend_inline'})
# 查看当前目录的绝对路径
os.path.abspath('.')
'C:\\Users\\DELL'
# 创建
os.mkdir('C:\\Users\\DEll\\testdir')
# 删除
os.rmdir('C:\\Users\\DEll\\testdir')

datetime 日期和时间

from datetime import datetime
now = datetime.now()
now
datetime.datetime(2021, 1, 23, 20, 3, 48, 113755)

时间戳 (timestamp)

# 将时间转换成时间戳
ts = now.timestamp()
ts
1611403428.113755
# 将时间戳转换为时间
date = datetime.fromtimestamp(ts)
date
datetime.datetime(2021, 1, 23, 20, 3, 48, 113755)

strptime:将时间字符串转化为时间元组

# string 转化为 datetime
cdate = datetime.strptime('2020-2-27 20:20:20','%Y-%m-%d %H:%M:%S')
cdate
datetime.datetime(2020, 2, 27, 20, 20, 20)
#  datetime转化为 string
now = datetime.now()
now.strftime('%a,%b%d %H:%M')
'Sat,Jan23 20:07'

Datetime

%Y  四位的年份
%m  两位的月份
%d  两位的天数值
%H  小时值(24)
%I  小时值(12)
%M  两位的分钟值
%S  秒值
%W  星期值
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值