Komut dosyasının yazıldığı dizinden farklı bir dizinde dosyalar arasında geçiş yapmakta zorlanıyorum. İdeal olarak script'imin sasa ile başlayan tüm dosyalara gitmesini de isterdim. Ben pencere Powershell ile Python Sürüm 2.7 kullanmak böyle sasa.2 vb sasa.1 ... yanı sıra doc1.pdf gibi diğer dosyalar, doc2.pdfPython: Farklı bir dizindeki dosyalar arasında geçiş yapmak ve verileri taramak
olarak klasördeki dosyaların bir çift vardır C:Users\user\python_project
2) Main_Directory ex: C:Users\user\Desktop\Data
1) Python Senaryo Yer ex
yerler
3) Current_Working_Directory örn: C:Users\user\python_project
Ana dizin klasör A, B, C, D vb ..) Bu klasörlerin her biri ilgi sasa dosyaları dahil birçok dosya içerir (100 klasörleri içerir. 1 dosya için aşağıdaki eserlerini senaryoyu
çalışan en
girişimleri:
Senaryo şu şekilde çalıştırılır : Ancak python script1.py
file_path = 'C:Users\user\Desktop\Data\A\sasa.1
def writing_function(file_path):
with open(file_path) as file_object:
lines = file_object.readlines()
for line in lines:
print(lines)
writing_function(file_path)
aşağıdaki
çalışmıyorKomut dosyası aşağıdaki şekilde çalışır: python script1.py A sasa.1
import os
import sys
from os.path import join
dr = sys.argv[1]
file_name = sys.argv[2]
file_path = 'C:Users\user\Desktop\Data'
new_file_path = os.path.join(file_path, dr)
new_file_path2 = os.path.join(new_file_path, file_name)
def writing_function(paths):
with open(paths) as file_object:
lines = file_object.readlines()
for line in lines:
print(line)
writing_function(new_file_path2)
aşağıdaki hatayı alıyorum:
with open(paths) as file_object:
IO Error: [Errno 2] No such file or directory:
'C:Users\\user\\Desktop\\A\\sasa.1'
Şimdilik sadece bir dosya üzerinde çalışıyorum, ben her döngü muktedir istiyorum unutmayın klasördeki sasa dosyaları. değişkeni dir
kullanarak
import os
from os.path import join
def function_exec(file):
code to execute on each file
for root, dirs, files in os.walk('path/to/your/files'): # from your argv[1]
for f in files:
filename = join(root, f)
function_exec(filename)
kaçının:
'os.walk' kullanmayı düşünün – chapelo