String Haskell操作文件内容
我是一名来自葡萄牙的学生,对我必须处理的一个项目有一些疑问 我的最终目标是使用LaTeX创建一个pdf目录,该目录使用exiftool存储有关文件的信息 到目前为止,我已经成功地将音频和视频文件分开,并将它们现有的工具信息存储在一个文件中,但这会使它们变得臃肿 例如:String Haskell操作文件内容,string,file,haskell,functional-programming,exiftool,String,File,Haskell,Functional Programming,Exiftool,我是一名来自葡萄牙的学生,对我必须处理的一个项目有一些疑问 我的最终目标是使用LaTeX创建一个pdf目录,该目录使用exiftool存储有关文件的信息 到目前为止,我已经成功地将音频和视频文件分开,并将它们现有的工具信息存储在一个文件中,但这会使它们变得臃肿 例如: ======== Cartoon Battle.mp3 -ExifToolVersion=8.60 -FileName=Cartoon Battle.mp3 -Directory=. -FileSize=4.0 MB -FileM
======== Cartoon Battle.mp3
-ExifToolVersion=8.60
-FileName=Cartoon Battle.mp3
-Directory=.
-FileSize=4.0 MB
-FileModifyDate=2011:12:13 09:46:25+00:00
-FilePermissions=rw-rw-r--
-FileType=MP3
-MIMEType=audio/mpeg
-MPEGAudioVersion=1
-AudioLayer=3
-AudioBitrate=320 kbps
-SampleRate=48000
-ChannelMode=Stereo
-MSStereo=Off
-IntensityStereo=Off
-CopyrightFlag=False
-OriginalMedia=False
-Emphasis=None
-ID3Size=113441
-Title=Cartoon Battle
-Artist=Kevin MacLeod
-Year=2007
-BeatsPerMinute=130
-Genre=Unclassifiable
-Comment=(iTunPGAP) 0
-EncodedBy=iTunes v7.0.2.16
-Comment=(iTunNORM) 000001F7 0000014B 00001DBD 00000B18 000154C8 00000780 00008169 00008180 00000780 00000780
-Comment=(iTunSMPB) 00000000 00000210 00000A84 00000000004A606C 00000000 003DE780 00000000 00000000 00000000 00000000 00000000 00000000
-Album=Far East
-Composer=Kevin MacLeod
-PictureFormat=JPG
-PictureType=Other
-PictureDescription=
-Picture=(Binary data 91855 bytes, use -b option to extract)
-DateTimeOriginal=2007
-Duration=0:01:41 (approx)
======== Comic Plodding.mp3
-ExifToolVersion=8.60
-FileName=Comic Plodding.mp3
-Directory=.
-FileSize=3.8 MB
-FileModifyDate=2011:12:13 09:46:24+00:00
-FilePermissions=rw-rw-r--
-FileType=MP3
-MIMEType=audio/mpeg
-MPEGAudioVersion=1
-AudioLayer=3
-AudioBitrate=320 kbps
-SampleRate=44100
-ChannelMode=Joint Stereo
-MSStereo=Off
-IntensityStereo=Off
-CopyrightFlag=False
-OriginalMedia=False
-Emphasis=None
-ID3Size=105099
-EncoderSettings=Logic Pro 8.0.1
-Comment=(iTunNORM) 000001AE 00000181 000026DF 0000365B 0001100A 00016CE5 00007D33 00007ECF 00010FF0 00016CE5
-Comment=(iTunSMPB) 00000000 00000210 000009D6 000000000040DA1A 00000000 003ABCBC 00000000 00000000 00000000 00000000 00000000 00000000
-Artist=Kevin MacLeod
-Composer=Kevin MacLeod
-Year=2008
-Genre=Silent Film Score
-PictureFormat=JPG
-PictureType=Other
-PictureDescription=
-Picture=(Binary data 84880 bytes, use -b option to extract)
-Album=Scoring - Silent Film: Dark
-DateTimeOriginal=2008
-Duration=0:01:36 (approx)
我想做的是:
首先,尝试将该文件中的两首歌曲拆分为某种类型的列表。
然后,试着从文件中提取一些信息,比如文件名、大小等等
到目前为止,我已经提出了这段代码,但它并不正确:
mymain = do{
a <- readFile "audio.txt" ; -- file that has all the infos collected by exiftool
ml <- splitRegex (mkRegex "========") a ; -- I expect this to separate each song and place their corresponding information on a single string
mymain=do{
a最小修复是:
import Text.Regex
main = do {
a <- readFile "audio.txt" ;
print $ splitRegex (mkRegex "========") a ;
}
因此IO代码将使用do
和您能告诉我们出了什么问题吗?
import Text.Regex
processData text = x where
x = splitRegex (mkRegex "========") y
y = text
...
main = do
a <- readFile "audio.txt"
print $ processData a