Dieses Programm nimmt drei Dateien und vergleicht den Schlüssel zwischen drei Dateien und nur diejenigen Einträge, die speziell in "AGO1" und nicht in anderen vorhanden sind. Ich kann das Ergebnis auf der Konsole ausdrucken. Bitte lassen Sie mich wissen, wie kann ich Ergebnisse in eine Textdatei "Only_AGO1.txt" NUR über das Argument der Funktion "OnlyArgSeq" schreiben.Drucken des Ergebnisses in eine Datei durch Funktion in Python
import sys
file1 = sys.argv[1]
file2 = sys.argv[2]
file4 = sys.argv[3]
AGO={}
AGO1={}
AGO2={}
AGO4={}
# Function "ArgSeq" to read each line of Argonoute "file" (Sequence, copy number)
# and put into a dictionary "AGO"
def ArgSeq(AGO,file):
with open(file) as f:
for line in f:
(key, val) = line.split()
AGO[key] = val
ArgSeq(AGO1,file1) # AGO1 dictionary
ArgSeq(AGO2,file2) # AGO2 dictionary
ArgSeq(AGO4,file4) # AGO4 dictionary
# Function "OnlyArgSeq" to find sRNA loading only to specific ARG
# eg sorting into ARG1, but not ARG2,ARG4
def OnlyArgSeq(AGO, *kwargs):
only_AGO = {k:v for k,v in AGO.items()
if not any(k in dicts for dicts in (kwargs))}
for key in only_AGO.keys():
print key, only_AGO[key]
OnlyArgSeq(AGO1, AGO2, AGO4) # sRNA sorting specifically to AGO1, Only_AGO1.txt
AGO1.txt
AAAAAAAATTGTTGCCGTTGG 1
AAAAAAACTTTGCTTATTTGTTCA 1
AAAAAAATGCTTATTTCAAATCGG 1
AAAAAAATGGGTCGGTTGTTTCA 1
AAAAAAATTGTTGCCGTTGGG 1
AGO2.txt
TTTTTTTTTTCGTCAGTTGGGTTC 1
TTTTTTTTTTGTCAAATTCTG 1
TTTTTTTTTTTCTTTGTCATCCGA 1
TTTTTTTTTTTGTCATCCAAA 1
TTTTTTTTTTTTATGATGTACA 1
AAAAAAATTGTTGCCGTTGGG 2
AGO4.txt
TTTTTTTTGAATATTTTGGTTGG 1
TTTTTTTTGGTAAGCTGTTAA 1
TTTTTTTTTACTGTAGTTTCTT 1
TTTTTTTTTCATGATTTCTTCCTT 2
TTTTTTTTTTAAATATTCTTTTGCCT 3
AAAAAAATTGTTGCCGTTGGG 2
So sind Sie wollen wissen, wie man eine Textdatei zu schreiben? – jacoblaw
Mögliches Duplikat von [Redirect stdout zu einer Datei in Python?] (Https://stackoverflow.com/questions/4675728/redirect-stdout-to-a-file-in-python) – Erich
Fragen Sie nach stdout umleiten? Importieren Sie sys und setzen Sie stdout in eine Datei. Danach können Sie dies tun: https://stackoverflow.com/questions/14245227/python-reset-stdout-to-normal-after-previously-redirecting-it-to-a-file – Erich