Member 13815244 Ответов: 2

Я хотел преобразовать код C# в код Python.


Используя скрипт python, я хочу преобразовать свой код C# в код Python. Есть ли библиотеки Python, чтобы преобразовать программу на C#? Любая помощь в этом была бы очень благодарна

Что я уже пробовал:

Я использовал Железный Python, который поддерживает .NET framework, но я не мог преобразовать код C# в код python.

Richard MacCutchan

Преобразование кода с одного языка на другой никогда не бывает простым процессом, так как существует слишком много различий. Процесс преобразования должен быть почти таким же всеобъемлющим, как и компилятор. Вероятно, было бы проще и быстрее сделать это вручную.

2 Ответов

Рейтинг:
2

Dave Kreskowiak

Нет никакого инструмента преобразования, но есть Установить IronPython[^- ты можешь попробовать.


Member 13815244

Используя IronPython, можно ли преобразовать весь код целиком?

Dave Kreskowiak

Нет, это не преобразователь кодов. Это Python для .NET.

Преобразователя кодов не существует. Если вы хотите, чтобы он был преобразован, вам нужно будет точно понять, что делает код C#, и написать код Python вручную.

Рейтинг:
0

Member 14852451

использование системы;
использование системы.Коллекции.Общий;
использование System.Linq;
использование System.Text;
использование системы.Нарезание резьбы;
использование системы.ИО;
использование System.Net;
использование System.Net.Sockets;
использование системы.Рисование;
использование системы.Рисование.Изображений;
использование системы.ИО;


пространство имен ImageClient
{
классная программа
{
static void Main(string[] args)
{
Socket socket = новый сокет(AddressFamily.Интерсеть, SocketType.Трансляция, ProtocolType.ПТС);
пробовать
{
Адрес узла IP-адрес = IP-адрес.Parse("127.0.0.1");
IPEndPoint hostEndPoint = новая IPEndPoint(адрес хоста, 8001);
Приставка.WriteLine("подключение...");
разъем.Подключение(hostEndPoint);
инт image_counter = 0;
ASCIIEncoding asciiEnc = новое ASCIIEncoding();
в то время как (правда)
{
Приставка.Write("введите команду: ");
строка cmd = консоль.Линия чтения();
if (cmd == "screencap")
{
byte[] binDataOut = asciiEnc.Метод getbytes(УМК);
разъем.Send(binDataOut, 0, binDataOut.Длина, SocketFlags.None);
byte[] binDataIn = новый байт[255];
List<byte> imageByteList = новый список<byte>();
Нить.Спать(1000);
int chunk = 1;
int k = сокет.Receive(binDataIn, 0, binDataIn.Длина, SocketFlags.None);
в то время как (k >= 255)
{
Приставка.WriteLine("chunk num:" + chunk++);
imageByteList.AddRange(binDataIn);
k = гнездо.Receive(binDataIn, 0, binDataIn.Длина, SocketFlags.None);

}

imageByteList.AddRange(binDataIn);

используя (трансляция потоке MemoryStream = новая потоке MemoryStream(imageByteList.Метод toArray()))
{
Изображение img = изображение.FromStream(поток);
img.Save(строка.Формат("image_from_server{0}.jpg", image_counter++), ImageFormat.Jpeg);
}


}



}

}
catch (исключение e)
{
Приставка.WriteLine("error...." + e.StackTrace);
разъем.Закрывать();
}
Приставка.WriteLine("Готово!");
}
}
}


Richard Deeming

Ваш неформатированный, необъяснимый и несвязанный дамп кода не является решением этого вопроса.