簡體   English   中英

如何存儲 output 打印數據?

[英]How can I store an output print data?

我的腳本從指定的 redditor 打印前 5 個子版塊。



reddit = praw.Reddit(
    client_id="",
    client_secret="",
    password="",
    user_agent="",
    username="",
)


for submission in reddit.redditor("").top(limit=5):
    print(submission.subreddit) 

我試圖將正在打印的內容存儲在 txt 文件中。

我試圖使用這種方法:

f = open('file.txt', 'w+')
f.write(submission.subreddit)
f.close()

但最后收到此錯誤

TypeError: write() 參數必須是 str,而不是 Subreddit

任何想法如何將子目錄存儲在 txt 文件中?

當您將某些內容寫入文件,但該內容不是字符串時,您需要先將其轉換為字符串。

str_subreddit = str(submission.subreddit)

但是,有更好的方法來做你想做的事情:

  • 使用 Unix shell 將程序的 output 重定向到文件: python my_script.py > file.txt
    • 以 append 代替覆蓋,使用>>
    • 這可以說是一種更好的方法,因為它遵循Unix 理念
  • print接受一個file參數: print(str_subreddit, file=f)
    • 您當然必須在程序開始時打開文件

此外,如果您嘗試將 append 轉換為具有f = open('file.txt', 'w+')的文件,則需要a not w+ w+是另外一回事。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM