私はフォルダ内のすべてのファイルの種類を列挙するために使用するスクリプトがあります。Pythonの:OSErrorの:[errnoを22]無効な引数:「* .TXT」
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import argparse
import magic
import os
# Argparse starts here
parser = argparse.ArgumentParser()
parser.add_argument('-input', dest='input',help="input one or more files",nargs='+',metavar=None)
args = parser.parse_args()
for files in args.input:
if magic.from_file(files,mime=True) == "text/plain":
print (files, "=" , magic.from_file(files,mime=True))
を、それはかなりうまく動作しますとき、私は、入力ファイル:
場合でも、I入力二つのファイル:
ではなく、私が入力ALLファイルとき:
エラーは言う:
Traceback (most recent call last):
File "Test.py", line 15, in <module>
if magic.from_file(files,mime=True) == "text/plain":
File "C:\Users\FrancescoM\AppData\Local\Programs\Python\Python36-32\lib\site-packages\magic\magic.py", line 135, in from_file
return m.from_file(filename)
File "C:\Users\FrancescoM\AppData\Local\Programs\Python\Python36-32\lib\site-packages\magic\magic.py", line 85, in from_file
with open(filename):
OSError: [Errno 22] Invalid argument: '*.txt'
しかし*.txt
はまさに私が入力したいものです。私もどんなファイルでも入力したいです*.*
これはpython-magic
に関連する問題ですか、ファイルの入力方法の問題ですか?
「* .txt」というファイルを開こうとすると意味がありません。すべてのファイルをループしますか?そのために複数のオープンを実行する必要があります。 –