默认教学计划
929人加入学习
(28人评价)
Python 基础
价格 ¥ 299.00
该课程属于 高校公益行 | 网络安全实践训练营 请加入后再学习

Python的类型与运算-文件(四)

因为w方式对以存在的文件会清楚后写入,但有的时候我们不想覆盖原有的
文件,这个时候我们可以使用如下方式:
>>> if not os.path.exists('somefile'):
... with open('somefile', 'wt') as f:
... f.write('Hello\n')
... else:
... print('File already exists!')
...
>>> if not os.path.exists('somefile'):
... with open('somefile', 'wt') as f:
... f.write('Hello\n')
... else:
... print('File already exists!')
...
File already exists!

这里我们也有别的方法可以用来判断是否文件存在,不存在时写入(此方法
紧在Python3.x可以使用):
>>> with open('somefile2','xt') as f:
... f.write('Hello\n')
...
6 >>> with open('somefile2','xt') as f:
... f.write('Hello\n')
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileExistsError: [Errno 17] File exists: 'somefile2'

    当我们需要判断是文件,还是目录的时候,可以引用os.path模块。

[展开全文]

{

打印输出至文件里:

>>>with open('/tmp/print.out','w') as f:

...        print('Hello,world',file=f)

...

}

{

由于w方式对存在的文件会清除后写入,但有时我们不想覆盖原有的文件,这是我们就需要用下面的方法先判断文件是否存在:

os.path.exists('somefile')

当然python3里面还有一种方式,来执行文件不存在时写入,文件存在时报错。

>>>with open('somefile','xt') as f:

...        f.wirte('Hello\n')

...

6

[里面的‘xt’方式是一个新方式。‘x’来判断文件是否存在,‘t’是一个默认的,不写也没问题]

}

{

os.listdir('tmp/dirlist') 返回类型为列表

下面的看不懂:

>>>files=[file for file in os.listdir('.tmp.dirlist') if os.path.isfile(os.path.join('/tmp/dirlist',file))]

>>>files

['file01','file02','file03']

>>>dirs=[dir for dir in os.listdir('.tmp.dirlist') if os.path.isdir(os.path.join('/tmp/dirlist',dir))]

>>>dirs

['dir01','dir02','dir03']

}

[展开全文]

打印输出文件:with open('/tmp/print.out','w') as f:

print('Hello,world',file=f)

文件不存在时写入:if not os.path.sexists('somefile')进行判断

读写压缩文件:用gzip和bz2模块压缩存储,读的时候使用rt和read()

获取文件夹中的文件列表:os.listdir('/tmp/dirlist')

os.path

[展开全文]

读取压缩文件:

    import gzip

    import bz2

    gzip.open("file_address",'wt')

    bz2.open('file_address','wt')

py2

   bz2.BZ2File('file_address','w')  

[展开全文]