python重定向到文件
㈠ 關於python的輸出重定向
importsys
f=open('a.txt','w')
print>>sys.stdout,'hello,world'
hello,world
print>>f,'hello,world'
f.close()
輸出到屏幕的內容重定向到文件,供參考。
defprint(stream):
"""print(value,...,sep='',end='\n',file=sys.stdout)
Printsthevaluestoastream,ortosys.stdoutbydefault.
Optionalkeywordarguments:
file:afile-likeobject(stream);defaultstothecurrentsys.stdout.
sep:stringinsertedbetweenvalues,defaultaspace.
end:,defaultanewline."""
pass
㈡ Linux後台運行Python程序
第一種nohup命令來讓程序在後台運行
括弧內容表示可以將平時輸出到控制台中的內容重定向到*.log這個文件中,這個是可選的,如果沒有這個,則會默認輸出到nohup.out文件中。括弧後面你的&表示後台運行。
舉個例子:
第二種方法是寫一個腳本,假設我們定義了一個腳本run.sh
#!/bin/bash 是指此腳本使用/bin/bash來解釋執行下面的語句,其中cd是表示將當前目錄跳到所要運行文件所在目錄,然後python3 文件名.py則表示運行***python文件,當寫完該腳本後,執行以下命令來執行該腳本從而讓程序在後台運行。
通過 ps -ef|grep python3 命令可以查看後台運行的進程都有哪些
㈢ 在線python代碼編輯器怎麼實現
僅僅是思路,其實網上肯定可以找到現成的代碼:
把上傳的代碼放在某個位置
用模板重新生成main,其中包括導入用戶的文件
執行python命令運行main,並把輸出和錯誤信息重定向到文件
監控進程結束,記錄時間和分析輸出
㈣ python 爬網頁 遇到重定向怎麼處理
1.伺服器端重定向,在伺服器端完成,一般來說爬蟲可以自適應,是不需要特別處理的,如響應代碼301(永久重定向)、302(暫時重定向)等。具體來說,可以通過requests請求得到的response對象中的url、status_code兩個屬性來判斷。當status_code為301、302或其他代表重定向的代碼時,表示原請求被重定向;當response對象的url屬性與發送請求時的鏈接不一致時,也說明了原請求被重定向且已經自動處理。
2.meta refresh,即網頁中的<meta>標簽聲明了網頁重定向的鏈接,這種重定向由瀏覽器完成,需要編寫代碼進行處理。例如,某一重定向如下面的html代碼第三行中的注釋所示,瀏覽器能夠自動跳轉,但爬蟲只能得到跳轉前的頁面,不能自動跳轉。
<html>
<head>
<metahttp-equiv="refresh"content="0.1;url=http://www..com/"><!--本網頁會在0.1秒內refresh為url所指的網頁-->
</head>
</html>
解決辦法是通過得到跳轉前的頁面源碼,從中提取出重定向url信息(上述代碼第三行中的url屬性值)。一個具體的操作:①使用xpath('//meta[@http-equiv="refresh" and @content]/@content')提取出content的值 ②使用正則表達式提取出重定向的url值。
3.js重定向,通過javaScript代碼形式進行重定向。如下面javascript代碼
<scriptlanguage=javascript>window.location.href='http://www..com'</script>
對於這種方式的跳轉,由於可以實現該功能的JavaScript語句有多種形式,不能再使用正則表達式提取url,只能考慮載入JavaScript代碼來進行解決。
㈤ python lib subprocess裡面是怎麼把shell的輸出重定向至某個文件內
#!/usr/bin/env python
#coding=utf-8
from subprocess import Popen, PIPE
import re
def disk_space(pattern="2[0-9]%", message="CAPACITY WARNING"):
## take shell command output
ps = Popen("df -h", shell=True, stdout=PIPE, stderr=PIPE)
output_lines = ps.stdout.readlines()
for line in output_lines:
line = line.strip()
if re.search(pattern, line):
print "%s %s" %(message, line)
if __name__ == '__main__':
disk_space()
㈥ python標准輸出重定向stdout.py的意思
sys.stdout 默認就是輸出到控制台(console),print 默認的輸出也是 sys.stdout,所以輸出到控制台。
在 輸入B 那,做了上下文切換with open
,也就是把默認的輸出流指向到文件 out.log,
對應的代碼是: sys.stdout = self.out_new,這里 out_new -> out.log,out_old = console
所以就print 指向文件,而不是控制台了
離開語句時,執行 sys.stdout = self.out_old => sys.stdout = console,還原原來的默認輸入流
於是後面就輸出到默認的控制
㈦ 在Python命令行輸出「你好,Python」能得到什麼結果
如果在 Python 命令行中輸入命令,您將看到以下輸出:print("你好,Python")
此代碼會將字元串寫入文件,而不是將其列印到命令行。可以使用此方法將函數的輸出重定向到 Python 中的任何類似文件的對象,例如文件、字元串緩沖區或套接字。"你好,Python"output.txtprint()
回答不易望請採納