Не понимаю почему, но код выдает ошибку "Please check if you have Photoshop installed correctly.", когда пытаешься открыть psd файл, но это только тогда, когда функция вызывается где то в другом .py файле. Если просто запустить код с функцией, то сам скрипт выполняет свою функцию. (суть простая, поменять текст слоя на тот, который ввел пользователь)
from distutils.text_file import TextFile
import photoshop.api as ps
import os
from photoshop import Session
app = ps.Application()
def get_psd_files():
files = {}
this_root = os.path.dirname(__file__)
file_root = os.path.join(this_root, "files")
for file_name in os.listdir(file_root):
files[file_name] = os.path.join(file_root, file_name)
return files
PSD_FILE = get_psd_files()
test_path = PSD_FILE["first.psd"]
x = {'test' : 'getsdf'}
def test_edit_text(info_from):
print(app)
print(info_from['test'])
text_for_layer = info_from['test']
try:
with Session(test_path, action="open") as ps:
doc = ps.active_document
art_layer = ps.active_document.artLayers.getByName("layer1")
art_layer.kind = ps.LayerKind.TextLayer
art_layer.textItem.contents = text_for_layer
options = ps.JPEGSaveOptions(quality=5)
jpg = r'mypath\photo.jpg'
doc.saveAs(jpg, options, asCopy=True)
except Exception as e:
print(e)
test_edit_text(x)
Все просто, здесь я вызвал функцию test_edit_text с аргументом в виде словаря "x" и все сработало, но если вызвать эту же функцию с таким же словарем, но только в другом файле, то выдаст ошибку, в чем может быть проблема?