Есть ли способ прочитать файл .egp без использования SAS Enterprise Guide?Python

Программы на Python
Ответить
Anonymous
 Есть ли способ прочитать файл .egp без использования SAS Enterprise Guide?

Сообщение Anonymous »

Я хочу просканировать с помощью Python папку, содержащую сотни файлов .sas и .egp.

Файлы .sas не являются проблемой, поскольку я могу их просто прочитать вот так:

Код: Выделить всё

with open(file_path, 'r', encoding='latin-1') as f:
...
Но поскольку файлы .egp не позволяют использовать этот метод, я использую эту функцию для извлечения сценариев из архива, чтобы затем их прочитать:
< pre class="lang-py Prettyprint-override">

Код: Выделить всё

def extract_sas_scripts_from_egp(file_path):
scripts = []
extraction_dir = file_path.replace('.egp', '_extracted')

# Reset Extraction Folder
if os.path.exists(extraction_dir):
for file in os.listdir(extraction_dir):
os.remove(os.path.join(extraction_dir, file))
else:
os.makedirs(extraction_dir)

# Extract .sas files from the archive
with zipfile.ZipFile(file_path, 'r') as archive:
for file_info in archive.infolist():
if file_info.filename.endswith(".sas"):
extracted_path = os.path.join(extraction_dir, os.path.basename(file_info.filename))
with archive.open(file_info) as sas_file:
content = sas_file.read().decode('latin-1')
scripts.append((content, extracted_path))
with open(extracted_path, 'w', encoding='latin-1') as f:
f.write(content)
return scripts
Моя проблема в том, что сгенерированная папка «_extracted», похоже, содержит только первый скрипт .sas, оставляя все остальные, которые мне также нужны.

Вопросы:
  • Знаете ли вы, почему мой сценарий дает такой результат и как я могу убедиться, что я вижу все свои сценарии?
  • Знаете ли вы какой-нибудь другой способ чтения? Файлы .egp?
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... rise-guide
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»