python导入模块的方式错误的是中os模块提供的与目录相关的函数有哪些呢?

  1. 有两种方式来实现并发性,一种方式是让每一个“任务"或“进程”在单独的内在空间中工做,每一个都有自已的工做内存区域。不过,虽然进程可在单独的内存空间中执行,但除非这些进程在单独的处理器上执行,不然,实际并非“同时”运行的。是由操做系统把处理器的时间片分配给一个进程,用完时间片后就需退出处理器等待另外一个时间片的到来。另外一种方式是在在程序中指定多个“执行线程”,让它们在相同的内存空间中工做。这称为“多线程处理”。线程比进程更有效,由于操做系统没必要为每一个线程建立单独的内存空间。python

  2. 新建进程用os.fork函数。但它只在POSIX系统上可用,在windows版的python中,os模块没有定义os.fork函数。相反,windows程序员用多线程编程技术来完成并发任务。linux

  3. os.fork函数建立进程的过程是这样的。程序每次执行时,操做系统都会建立一个新进程来运行程序指令。进程还可调用os.fork,要求操做系统新建一个进程。父进程是调用os.fork函数的进程。父进程所建立的进程叫子进程。每一个进程都有一个不重复的进程ID号。或称pid,它对进程进行标识。子进程与父进程彻底相同,子进程从父进程继承了多个值的拷贝,如全局变量和环境变量。两个进程的惟一区别是fork的返回值。子进程接收返回值0,而父进程接收子进程的pid做为返回值。程序员

  4. 用os.fork建立的子进程和父进程做为异步的并发进程而单独执行。异步是指它们各行其是,相互间不进行同步;并发是指它们可同时执行。因此咱们没法知道子进程和父进程的相对速度。shell

  5. os.wait函数用于等待子进程结束(只适用于UNIX兼容系统)。该函数返回包含两个元素的元组,包括已完成的子进程号pid,以及子进程的退出状态,返回状态为0,代表子进程成功完成。返回状态为正整数代表子进程终止时出错。如没有子进程,会引起OSError错误。os.wait要求父进程等待它的任何一个子进程结束执行,而后唤醒父进程。编程

  6. 要指示父进程等候一个指定的子进程终止,可在父进程中使用os.waitpid函数(只适用于unix兼容系统)。它可等候一个指定进程结束,而后返回一个双元素元组,其中包括子进程的pid和子进程的退出状态。函数调用将pid做为第一个参数传递,并将一个选项做为第二个选项,若是第一个参数大于0,则waitpid会等待该pid结束,若是第一个参数是-1,则会等候全部子进程,也就和os.wait同样。windows

  7. 用os.system 和 os.exec函数族来执行系统命令和其它程序。os.system使用shell来执行系统命令,而后在命令结束以后把控制权返回给原始进程;os.exec函数族在执行完命令后不将控制权返回给调用进程。它会接管python进程,pid不变。这两个函数支持unix和windows平台。api

  8. os.popen()函数可执行命令,并得到命令的stdout流。函数要取得两个参数,一个是要执行的命令,另外一个是调用函数所用的模式,如“r"只读模式。os.popen2()函数执行命令,并得到命令的stdout流和stdin流。函数返回一个元组,其中包含有两个文件对象,一个对象对应stdin流,一个对象对应stdout流。多线程

  9. 进程使用IPC机制在进程间传递信息,一种IPC机制是“管道”,它是一种相似于文件的对象,提供单向通讯渠道。父进程可打开一个管道,再分支一个子进程。父进程使用管道将信息写入(发送到)子进程,而子进程使用管道从父进程读取信息。在python中使用os.pipe函数建立管道。并发

  10. os._exit()相似于sys.exit(),但它不执行任何的清除工做(例如刷新缓冲区)。因此os._exit()尤为适用于退出子进程。若是程序使用sys.exit(),操做系统会回收父进程或其它子进程可能仍然须要的资源。传给os._exit()函数的参数必须是进程的退出状态。退出状态为0,表示正常终止。异步

  11. 进程也可用信号进行通讯。所谓“信号”,是操做系统采起异步方式传给程序的消息。如CTRL+C会传递一个“中断信号”,一般该信号致使程序停止。然而程序彻底能够指定用不一样的行动来响应任何一个信号。在信号处理中,程序要接收信号,并根据那个信号采起一项行动。错误(例如向已关闭管道写入)、事件(例如计时器变成0)以及用户输入(例如按ctrl+c)都会产生信号。

  12. 针对每一个信号,每一个python程序都有一个默认的信号处理程序。例如,假定python解释器收到一个信号,该信号指出程序试图向已关闭的管道写入,或者用户敲入一个键盘中断,python就会引起一个异常。发生异常后,程序既可以使用默认处理程序,也可以使用自定义处理程序。

  13. signal.signal函数为中断信号注册一个信号处理程序。函数要得到两个参数:一个信号和一个对应于信号处理程序的函数。

  14. 在unix/linux系统中,子进程终止后,会保留在进程表中,让父进程知道子进程是否正常终止。若是建立大量子进程,但在终止后没有从进程表中移除它们,进程表便会积累愈来愈多的死进程,这些进程称为“zombies”(僵尸进程),消除僵尸进程的操做称为“reaping”,这是经过os.wait和os.waitpid函数实现的。

18.2. 良好的编程习惯

  1. 进程应关闭不须要的管道端,由于操做系统限制了可同时打开的文件说明符数量。

  1. 并非全部操做系统都能从一个正在运行的程序建立单独的进程,因此,进程管理是移植性最差的一项python特性。

  2. 每一个系统都定义了特有信号集。signal是依赖于具体平台的模块,其中只包含系统定义的信号。

在python中,内置了文件(file)对象,通过一些内置的方法就可以实现对文件的操作,例如open()方法创建一个文件对象,write()方法向文件写入内容。

想要操作文件,先要创建或者打开指定文件并创建文件对象,可以通过内置函数open()来实现。

mode : 用于指定文件打开的方式

mode参数的参数值表

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

打开一个文件用于读写。文件指针将会放在文件的开头。

以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

采用open()函数打开文件时,默认采用的是GBK编码,如果想要用其他编码方式,需要加上encoding参数

打开文件之后,需要及时关闭,以免对文件造成不必要的破坏。可以用内置函数close()。

close()函数先刷新缓冲区中还没有写入的信息,将其写入到文件中,再关闭文件,起到对文件的保护作用。

再写入文件的时候要注入打开文件的时候是处于什么模式,不然会把原数据覆盖掉。

读取文件的前提是在打开文件时,指定的打开模式为r(只读)或者r+(读写)否则,会抛出异常。

#size :用于指定要读取的字符个数,如果省略,则一次性读取所有内容。

该方法用于读取一行文本

python内置了os模块及子模块os.path用于对目录或文件的操作。

os模块提供的与目录相关的函数

返回指定路径下的文件和目录信息

把path设置为当前工作目录

获取指定文件是否有某个权限(accessmode的等于R_OK(读取),W_OK(写入),X_OK(执行),F_OK(存在)),如果有指定的权限,返回1,否则返回0.

修改path指定文件的访问权限

将文件或目录src重命名为dst

返回path指定文件的信息

os.path模块提供与目录有关的函数

用于获取文件或目录的绝对路径

用于判断目录或者文件是否存在,如果存在则返回True,否则返回False

将目录与目录或者文件名拼接起来

从一个目录中提取文件名

从一个路径中提取文件路径,不包括文件名

demo —— 获取当前工作目录

demo —— 判断目录是否存在

因为exists()是os的子模块提供的,所以要要加前缀,os.path

demo —— 创建一级目录

#如果要创建的目录已经存在,则会抛出异常,先判断要创建的目录是否存在

mkdir(path)创建的目录是一级目录,如果传入的path中最后一级的上级目录不存在,那么会抛出异常。

demo —— 创建多级目录

#判断要删除的目录,如果不存在会抛出问题

rmdir()函数只能删除空的目录,如果不为空就不能删除,可以一下代码删除不为空的目录。

dirpath: 是一个字符串,表示当前遍历的路径

dirnames: 是一个列表,表示的是当前路径下包含的子目录

filenames: 也是一个列表,当前目录下的文件

top: 用于指定要遍历的目录 topdown: 可选参数,用于指定要遍历的顺序,如果为True(默认),表示从上到下遍历,如果为False,表示从小到上。
#root 是当前根路径,dirs包含路径下的子目录,files包含了子目录下的二五年间

demo —— 产找当前目录下某个文件是否存在

以上就是本文的全部内容,希望对大家的学习有所帮助。

在python中,内置了文件(file)对象,通过一些内置的方法就可以实现对文件的操作,例如open()方法创建一个文件对象,write()方法向文件写入内容。

想要操作文件,先要创建或者打开指定文件并创建文件对象,可以通过内置函数open()来实现。

mode : 用于指定文件打开的方式
 

mode参数的参数值表

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
打开一个文件用于读写。文件指针将会放在文件的开头。
以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

采用open()函数打开文件时,默认采用的是GBK编码,如果想要用其他编码方式,需要加上encoding参数

打开文件之后,需要及时关闭,以免对文件造成不必要的破坏。可以用内置函数close()。

close()函数先刷新缓冲区中还没有写入的信息,将其写入到文件中,再关闭文件,起到对文件的保护作用。

 

再写入文件的时候要注入打开文件的时候是处于什么模式,不然会把原数据覆盖掉。

读取文件的前提是在打开文件时,指定的打开模式为r(只读)或者r+(读写)否则,会抛出异常。

#size :用于指定要读取的字符个数,如果省略,则一次性读取所有内容。

该方法用于读取一行文本

python内置了os模块及子模块os.path用于对目录或文件的操作。

os模块提供的与目录相关的函数

返回指定路径下的文件和目录信息
把path设置为当前工作目录
获取指定文件是否有某个权限(accessmode的等于R_OK(读取),W_OK(写入),X_OK(执行),F_OK(存在)),如果有指定的权限,返回1,否则返回0.
修改path指定文件的访问权限
将文件或目录src重命名为dst
返回path指定文件的信息

os.path模块提供与目录有关的函数

用于获取文件或目录的绝对路径
用于判断目录或者文件是否存在,如果存在则返回True,否则返回False
将目录与目录或者文件名拼接起来
从一个目录中提取文件名
从一个路径中提取文件路径,不包括文件名

demo —— 获取当前工作目录

demo —— 判断目录是否存在

因为exists()是os的子模块提供的,所以要要加前缀,os.path

demo —— 创建一级目录

#如果要创建的目录已经存在,则会抛出异常,先判断要创建的目录是否存在
 

mkdir(path)创建的目录是一级目录,如果传入的path中最后一级的上级目录不存在,那么会抛出异常。

demo —— 创建多级目录

#判断要删除的目录,如果不存在会抛出问题
 

rmdir()函数只能删除空的目录,如果不为空就不能删除,可以一下代码删除不为空的目录。

 

dirpath: 是一个字符串,表示当前遍历的路径

dirnames: 是一个列表,表示的是当前路径下包含的子目录

filenames: 也是一个列表,当前目录下的文件

top: 用于指定要遍历的目录 
topdown: 可选参数,用于指定要遍历的顺序,如果为True(默认),表示从上到下遍历,如果为False,表示从小到上。
 
#root 是当前根路径,dirs包含路径下的子目录,files包含了子目录下的二五年间
 
 
demo —— 产找当前目录下某个文件是否存在
 
 
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

我要回帖

更多关于 python导入模块的方式错误的是 的文章

 

随机推荐