程序是怎么与计算机硬件交互的

程序是怎么与计算机硬件交互的,第1张

我是做计算机硬件的工程师,我来解答你这个问题吧。

程序控制的是硬件的芯片引脚,或者是存储器的寻址方式,以及硬件提供的外设,硬件在设计的时候,提供了很多接口供程序来调用,程序员在开发程序的时候,在这些预留的接口编写程序控制硬件运转,而且还要注意硬件工作的时序,是一个比较复杂的过程

本文介绍了用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 怎么和硬件进行链接,通信,交互、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10065643.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存