Ich möchte ein Programm für diese Aufgabe schreiben: In einem Ordner habe ich n Anzahl von Dateien; zuerst eine Datei lesen und eine Operation durchführen, dann das Ergebnis in einer separaten Datei speichern. Dann lesen Sie die 2. Datei, führen die Operation erneut durch und speichern das Ergebnis in der neuen 2. Führen Sie das gleiche Verfahren für n Anzahl der Dateien. Das Programm liest alle Dateien nacheinander ein und speichert die Ergebnisse jeder Datei separat. Bitte geben Sie Beispiele, wie ich das machen kann.
Antworten
Zu viele Anzeigen?
pramod
Punkte
1
from pylab import *
import csv
import os
import glob
import re
x=[]
y=[]
f=open("one.txt",'w')
for infile in glob.glob(('*.csv')):
# print "" +infile
csv23=csv2rec(""+infile,'rb',delimiter=',')
for line in csv23:
x.append(line[1])
# print len(x)
for i in range(3000,8000):
y.append(x[i])
print ""+infile,"\t",mean(y)
print >>f,""+infile,"\t\t",mean(y)
del y[:len(y)]
del x[:len(x)]
codearena
Punkte
1
tldr
Punkte
86
Ich weiß, dass ich dieses Doppel gesehen habe with open()
irgendwo, konnte mich aber nicht mehr erinnern, wo. Also baute ich ein kleines Beispiel, falls jemand braucht.
""" A module to clean code(js, py, json or whatever) files saved as .txt files to
be used in HTML code blocks. """
from os import listdir
from os.path import abspath, dirname, splitext
from re import sub, MULTILINE
def cleanForHTML():
""" This function will search a directory text files to be edited. """
## define some regex for our search and replace. We are looking for <, > and &
## To replaced with &ls;, > and &. We might want to replace proper whitespace
## chars to as well? (r'\t', ' ') and (f'\n', '<br>')
search_ = ((r'(<)', '<'), (r'(>)', '>'), (r'(&)', '&'))
## Read and loop our file location. Our location is the same one that our python file is in.
for loc in listdir(abspath(dirname(__file__))):
## Here we split our filename into it's parts ('fileName', '.txt')
name = splitext(loc)
if name[1] == '.txt':
## we found our .txt file so we can start file operations.
with open(loc, 'r') as file_1, open(f'{name[0]}(fixed){name[1]}', 'w') as file_2:
## read our first file
retFile = file_1.read()
## find and replace some text.
for find_ in search_:
retFile = sub(find_[0], find_[1], retFile, 0, MULTILINE)
## finally we can write to our newly created text file.
file_2.write(retFile)
- See previous answers
- Weitere Antworten anzeigen
1 Stimmen
Wahrscheinlich. Aber gleichzeitig lerne ich gerade selbst Python, und es scheint mir eine gute Übung zu sein, mich daran zu erinnern, dass ich nicht mit dem Kopf gegen die Wand schlage. Wenn es ihm nicht wichtig genug ist, dieses Wissen selbst zu erlernen, wer bin ich dann, dass ich ihm widerspreche? Wenn man eine Prüfung nicht besteht, ist man am Ende trotzdem durchgefallen.
2 Stimmen
Ich habe es als Hausaufgabe gekennzeichnet; das Stellen und Beantworten von Hausaufgabenfragen steht auf der Website auf dem Plan, aber im Interesse der Fragesteller möchte ich, dass wir sie zuerst bitten, einen Code zu liefern, der bisher nicht funktioniert.