Cria 发表于 2020-6-3 22:00:50

py一个小练习,关于文件操作

本帖最后由 Cria 于 2020-6-3 23:16 编辑

编写程序,打开指定目录下的所有jpeg格式的文件。(提示:jpeg格式文件的前三个字节为“0xFF0xD80xFF”)

参考代码from os import listdir,startfile,chdir
from os.path import isfile
dir = input ('please input a directory:').replace('\\','/')
chdir(dir)
for fname in listdir(dir):
    if isfile(fname):
      with open(fname,'rb') as fp:
            content = fp.read(3)
      if content == b'\xFF\xD8\xFF':
            print('JPEG文件是:{}'.format(fname))
            print('打开文件。。。')
            startfile(fname)

Twilight6 发表于 2020-6-3 22:00:51

import os

path = input('请输入目录路径:')
os.chdir(path)
file_list = os.listdir(path)
for i in file_list:
    if i.split('.')[-1] == 'jpeg':
      with open(i,'rb') as f:
            if f.read(3) == b'\xFF\xD8\xFF':
                print('JPEG文件是:{}'.format(i))
                print('正在打开JPEG文件')
                os.startfile(i)

青出于蓝 发表于 2020-6-3 22:01:41

学过好久,记不起了,感觉应该os模块肯定需要

Stubborn 发表于 2020-6-3 22:03:14

>>> # Directory listing (decoded)
>>> import os
>>> os.listdir('.')
['jalapeño.txt']

>>> # Directory listing (raw)
>>> os.listdir(b'.') # Note: byte string


>>> # Open file with raw filename
>>> with open(b'jalapen\xcc\x83o.jpeg') as f:
...   print(f.read())
...
Spicy!
>>>

直接以字节打开

Twilight6 发表于 2020-6-3 22:04:11

Stubborn 发表于 2020-6-3 22:03
>>> # Directory listing (decoded)
>>> import os
>>> os.listdir('.')


你这速度太快了吧???我刚刚看完香蕉君的题目 你已经好了 秒男啊

BIO-张磊 发表于 2020-6-3 22:04:47

二进制打开?

Stubborn 发表于 2020-6-3 22:08:30

Twilight6 发表于 2020-6-3 22:04
你这速度太快了吧???我刚刚看完香蕉君的题目 你已经好了 秒男啊

我还不是一楼的~{:10_323:}每次看到你都在,你把我的代码整合下,写个函数出来,题主需要这个,最佳肯定是你的

Twilight6 发表于 2020-6-3 22:09:01

Stubborn 发表于 2020-6-3 22:08
我还不是一楼的~每次看到你都在,你把我的代码整合下,写个函数出来,题主需要这个,最佳肯定 ...

可以可以那等我骚操作一波{:10_297:}

Cria 发表于 2020-6-3 22:56:04

怎么肥四,发生了什么

轩慕云 发表于 2020-6-4 14:05:54

{:10_257:}

jia159753 发表于 2020-6-4 20:07:30

0.0
页: [1]
查看完整版本: py一个小练习,关于文件操作