我写了一个AppleScript来生成我的itunes库中所有未观看电影的文本文件。以下是该脚本的代码:
tell application "iTunes"
set watchedEpisodes to tracks of playlist "TV Shows" whose unplayed is false and played count > 0
set unwatchedEpisodes to tracks of playlist "TV Shows" whose unplayed is true
if (count unwatchedEpisodes) > 0 then
set trackNames to {}
repeat with anEpisode in unwatchedEpisodes
set tmp to location of anEpisode as text
set posixtmp to POSIX path of tmp
set end of trackNames to (posixtmp as text)
end repeat
set {TID, AppleScript's text item delimiters} to {AppleScript's text item delimiters, return}
set unwatchedTVShows to trackNames as text
do shell script "echo " & quoted form of unwatchedTVShows & " > /Volumes/Data/Media/Kodi/unwatchedTVShows.txt"
#display dialog trackNames as text
set AppleScript's text item delimiters to TID
end if
set watchedEpisodes to tracks of playlist "Movies" whose unplayed is false and played count > 0
set unwatchedEpisodes to tracks of playlist "Movies" whose unplayed is true
if (count unwatchedEpisodes) > 0 then
set trackNames to {}
repeat with anEpisode in unwatchedEpisodes
set tmp to location of anEpisode as text
set posixtmp to POSIX path of tmp
set end of trackNames to (posixtmp as text)
end repeat
set {TID, AppleScript's text item delimiters} to {AppleScript's text item delimiters, return}
set unwatchedMovies to trackNames as text
do shell script "echo " & quoted form of unwatchedMovies & " > /Volumes/Data/Media/Kodi/unwatchedMovies.txt"
#display dialog trackNames as text
set AppleScript's text item delimiters to TID
end if
end tell
这是我的输出文件:
/Volumes/Data/Media/Movies/Thanks For Sharing.m4v
/Volumes/Data/Media/Movies/Thats My Boy.m4v
/Volumes/Data/Media/Movies/Think Like a Man.m4v
/Volumes/Data/Media/Movies/Think Like a Man Too.m4v
/Volumes/Data/Media/Movies/This Means War.m4v
/Volumes/Data/Media/Movies/Top Five.m4v
/Volumes/Data/Media/Movies/Trail of Blood.m4v
我的问题是正在阅读此文件。我需要打开它,并把它放在一个字符串中,以便我可以全面搜索它(即,如果我搜索“像男人一样思考”,我不想在“像男人一样思考”中误报。< / p>
无论如何,这是我当前的python代码(或至少代码片段):
KODIFOLDER="/Volumes/Data/Media/Kodi"
with open(KODIFOLDER + "/unwatchedMovies.txt", 'r') as umovies:
for line in umovies:
line = line.strip()
print line
这是输出:
/Volumes/Data/Media/Movies/Trail of Blood.m4voo.m4v
显然,它正在打开并阅读文件,但我不明白为什么该代码段没有提供文本文件中的完整“列表”。关于我做错了什么的想法?
这是最终答案。不确定与以前有什么不同(混合标签和空格可能??)。无论如何,为了将来参考,这段代码:
with open(KODIFOLDER + "/unwatchedMovies.txt", 'r') as uwmovies:
for line in uwmovies:
line = line.replace("\n","")
unwatchedmovies = line.split('\r')
print unwatchedmovies
提供此列表的输出:
['/Volumes/Data/Media/Movies/Table 19.m4v', '/Volumes/Data/Media/Movies/Term Life.m4v', '/Volumes/Data/Media/Movies/Thanks For Sharing.m4v', '/Volumes/Data/Media/Movies/Thats My Boy.m4v', '/Volumes/Data/Media/Movies/Think Like a Man.m4v', '/Volumes/Data/Media/Movies/Think Like a Man Too.m4v', '/Volumes/Data/Media/Movies/This Means War.m4v', '/Volumes/Data/Media/Movies/Top Five.m4v', '/Volumes/Data/Media/Movies/Trail of Blood.m4v']
这正是我所需要的。我没有列出“\ r”或“\ n”。谢谢你的帮助!
答案 0 :(得分:0)
这是您的实际代码段吗?
KODIFOLDER="/Volumes/Data/Media/Kodi"
with open(KODIFOLDER + "/unwatchedMovies.txt", 'r') as umovies:
for line in umovies:
line = line.strip()
print line
这只会打印文件的最后一行。请注意,print line
仅缩进一个tab
。
答案 1 :(得分:0)
尝试在您打开的文件上调用<my-child-cmp (myClick)="firstFunction($event)"></my-child-cmp>
firstFunction(event: Event) {
console.log(event); // You will see something here))
}
,然后将内容拆分为.read()
(换行符)
\n
但这对你的用例来说已经足够了:
KODIFOLDER="/Volumes/Data/Media/Kodi"
with open(KODIFOLDER + "/unwatchedMovies.txt", 'r') as umovies:
for line in umovies.read().split('\n'):
line = line.strip()
print line
答案 2 :(得分:0)
试试这个( Pythonic Way ,UPDATED):
import sys
read_lines = [sys.stdout.write(line.rstrip('\n') + "\n") for line in open('1.txt')]
Python 2x
from __future__ import print_function
read_lines = [print(line.rstrip('\n')) for line in open('1.txt')]