
我是做计算机硬件的工程师,我来解答你这个问题吧。
程序控制的是硬件的芯片引脚,或者是存储器的寻址方式,以及硬件提供的外设,硬件在设计的时候,提供了很多接口供程序来调用,程序员在开发程序的时候,在这些预留的接口编写程序控制硬件运转,而且还要注意硬件工作的时序,是一个比较复杂的过程
本文介绍了用python与文件进行交互的方法,分享给大家,具体如下:
一文件处理
1介绍
计算机系统:计算机硬件, *** 作系统,应用程序
应用程序无法直接 *** 作硬件,通过 *** 作系统来 *** 作文件,进而读/写硬件中的文件。
python打开文件过程:
#打开
f=open('atxt','r')
#通过句柄对文件进行 *** 作
read_f=fread()
#关闭文件
fclose()
with open('atxt','r') as f: #不需要关闭
fclose() #回收 *** 作系统打开的文件
del f #回收应用程序级的变量
2打开文件的模式
a打开文本文件
#r,只读模式默认模式,文件必须存在,不存在则抛出异常
f=open('atxt',encoding='utf-8')
data1=fread()
print(freadline(),end='')
print(freadlines())
#w,只写模式不可读;不存在则创建;存在则清空内容
f=open('atxt','w',encoding='utf-8')
fwrite('werf')
#a,只追加写模式不可读;不存在则创建;存在则只追加内容
f=open('atxt','a',encoding='utf-8')
fwrite('werf\n')
b对于非文本文件,只能使用b模式,"b"表示以字节的方式 *** 作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、文件的jgp格式、视频文件的avi格式
with open('1jpg','rb') as f_read:
data=f_readread()
print(data)
with open('atxt','rb') as f_read:
data=f_readread()decode('utf-8') #解码
print(data)
with open('atxt','wb')as f_write:
f_writewrite('adsf'encode('utf-8'))
'''
练习,利用b模式,编写一个cp工具,要求如下:
1 既可以拷贝文本又可以拷贝视频,等文件
2 用户一旦参数错误,打印命令的正确使用方法,如usage: cp source_file target_file
'''
import sys
if len(sysargv)!=3:
print('usage:cp source_file target_file')
sysexit()
source_file,target_file=sysargv[1],sysargv[2]
print()
with open(source_file,'rb')as f_read,open(target_file,'wb')as f_write:
for line in f_read:
f_writewrite(line)
3文件内光标的移动
#以文本模式读文件,n代表的是字符的个数
with open('atxt','r')as f_read:
data=f_readread(6)
print(data)
#以b模式读文件,n代表的是字节的个数
with open('atxt','rb')as f_read:
data=f_readread(6)
print(data)
# tell:告诉当前光标的位置
with open('atxt','r',encoding='utf-8')as f_read:
data=f_readread(4)
data1=f_readtell()
print(data,data1)
# seek:移动光标(0:文件开头默认;1:文件当前光标;2:文件末尾)
with open('atxt', 'r', encoding='utf-8')as f_read:
data = f_readseek(3)
data1 = f_readread()
print(data, data1)
# 实现tail功能
import time
with open('accesslog', 'rb')as f_read:
f_readseek(0,2)
while True:
line = f_readreadline()
if line:
print(linedecode('utf-8'),end='')
else:
timesleep(1)
4文件的修改
import os
with open('atxt') as read_f,open('atxtswap','w') as write_f:
for line in read_f:
line=linereplace('alex','SB')
write_fwrite(line)
osremove('atxt')
osrename('atxtswap','atxt')
以上就是关于程序是怎么与计算机硬件交互的全部的内容,包括:程序是怎么与计算机硬件交互的、用python 怎么和硬件进行链接,通信,交互、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)