Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2024, 07:10   #1
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,058
По умолчанию Запустить файл index.html локально такж как он запускается на сервере

здравствуйте
Код:
import os

DIRECTORY = r'I:\eternalhost_Lis'

def print_directory_structure(path, level=0):
    print('  ' * level + os.path.basename(path) + '/')
    for item in os.listdir(path):
        item_path = os.path.join(path, item)
        if os.path.isdir(item_path):
            print_directory_structure(item_path, level + 1)
        else:
            print('  ' * (level + 1) + item)

print_directory_structure(DIRECTORY)
печатает содержимое папки:
eternalhost_Lis/
index.css
index.html
ProgrammaDNSD/
data.json
index.html
options.php
processing.php
css/
app.c08e8fa6.css
calendar.css
chunk-05f9d8f9.2424c04d.css
chunk-0a920710.aacbb5ae.css
chunk-1e43956c.c7251abf.css
chunk-1f4ec2aa.34dc3cfe.css
chunk-2573b5f2.2dd5220f.css
chunk-30da7d84.3ec17c38.css
chunk-47b8bfd3.aacbb5ae.css
chunk-54e65ce5.1d9feadb.css
chunk-62ddaca1.86bb7e80.css
chunk-6935b282.157c8fa7.css
chunk-79780195.7fffa9db.css
chunk-7f6e6ef1.76b0478a.css
chunk-c47620a0.8447fa55.css
mark.css
js/
app.5ecca1de.js
chunk-05f9d8f9.b1cb0a20.js
chunk-0a920710.7dc85077.js
chunk-1e43956c.28872906.js
chunk-1f4ec2aa.60a17a54.js
chunk-21f5561d.056cb70e.js
chunk-2573b5f2.7e61a297.js
chunk-2d0aeaf9.8daa91ee.js
chunk-2d0deca6.4b7e2cf7.js
chunk-2d225c13.beb8200c.js
chunk-30da7d84.5dcb887f.js
chunk-4578c2ae.4895fac1.js
chunk-47b8bfd3.5ced531a.js
chunk-54e65ce5.9e1e3755.js
chunk-62ddaca1.3b1dd766.js
chunk-6935b282.93f2accf.js
chunk-6ba119f4.1425a4ce.js
chunk-79780195.e43926bd.js
chunk-7f6e6ef1.8b7ecce2.js
chunk-c47620a0.e530c914.js
chunk-ee4acc1c.0b08ef77.js
chunk-vendors.adb6e05d.js
locales/
bel.json
kz.json
ua.json
нужен код, который локально запустит на ПК файл eternalhost_Lis/
index.html точно также как он запускается после помещения этой же папки на сервер, моя попытка решения:
Код:
import subprocess
import webbrowser

HTML_FILE = os.path.join(DIRECTORY, 'index.html')

# Проверить, что файл index.html существует
if not os.path.exists(HTML_FILE):
    print(f"Ошибка: файл {HTML_FILE} не найден.")
    exit()

# Открыть файл в браузере
subprocess.Popen(f'start {HTML_FILE}')
webbrowser.open(HTML_FILE)

# Вывести сообщение с ссылкой на файл
print(f"Служба в порту 8000 запущена из директории {DIRECTORY}")
print("Просмотреть результат можно в браузере: http://localhost:8000/")
Traceback (most recent call last):
File "C:\pythonProject\sudrf.ru1.py" , line 27, in <module>
subprocess.Popen(f'start {HTML_FILE}')
File "C:\Users\q8902\AppData\Local\Progr ams\Python\Python311\Lib\subprocess .py", line 1024, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\q8902\AppData\Local\Progr ams\Python\Python311\Lib\subprocess .py", line 1493, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^
FileNotFoundError: [WinError 2] Не удается найти указанный файл
о каком файле идёт речь в ошибке, когда я проверяю его существование? и как полностью решить эту задачу? спасибо
Ципихович Эндрю вне форума Ответить с цитированием
Старый 18.05.2024, 07:12   #2
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,058
По умолчанию

сорри в сообщении на форуме автоматически убрались отступы у списка структуры файла
Ципихович Эндрю вне форума Ответить с цитированием
Старый 18.05.2024, 07:25   #3
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,058
По умолчанию

исправил:
Код:
import os

DIRECTORY = r'I:\eternalhost_Lis'

def print_directory_structure(path, level=0):
    print('  ' * level + os.path.basename(path) + '/')
    for item in os.listdir(path):
        item_path = os.path.join(path, item)
        if os.path.isdir(item_path):
            print_directory_structure(item_path, level + 1)
        else:
            print('  ' * (level + 1) + item)

print_directory_structure(DIRECTORY)

import subprocess
import webbrowser

HTML_FILE = os.path.join(DIRECTORY, 'index.html')

# Проверить, что файл index.html существует
if not os.path.exists(HTML_FILE):
    print(f"Ошибка: файл {HTML_FILE} не найден.")
    exit()

# Открыть файл в браузере
subprocess.Popen(['cmd', '/c', 'start', HTML_FILE])
webbrowser.open(HTML_FILE)

# Вывести сообщение с ссылкой на файл
print(f"Служба в порту 8000 запущена из директории {DIRECTORY}")
print("Просмотреть результат можно в браузере: http://localhost:8000/")
код локально запускает на ПК файл: eternalhost_Lis/
index.html но запускает НЕ точно также как он запускается после помещения этой же папки на сервер
потому, что нажав на одну из кнопок я вижу на странице:
Содержание I:\eternalhost_Lis\ProgrammaDNSD\
а если бы я запустил на сервере было бы всё ок
Ципихович Эндрю вне форума Ответить с цитированием
Старый 18.05.2024, 07:53   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

Не запускал, но нужно примерно такое:
Код:
subprocess.Popen(['python3', '-m', 'http.server', '8000', '-b', '127.0.0.1', '-d', DIRECTORY])
webbrowser.open('http://localhost:8000/')
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 18.05.2024, 08:13   #5
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,058
По умолчанию

плохо, что знаний не хватает))
я про то, что файл index.html имеет всего-то 18 строк:
Код:
<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
	<link rel="stylesheet" href="index.css">
	<title>Джентльмен</title>
</head>
<body>
	<header>Джентльменский набор<!--header-заголовок--></header>
	<div class="tabs">
		<!--<a class="tab">Главная</a>-->
		<a class="tab" href="ProgrammaDNSD">ДНСД оффлайн-программа</a>
	</div>
	<footer><!--footer-нижний колонтитул--></footer>
</body>
</html>
и видимо в нём ещё нужно что-то исправить))
я про то, что программе указывают только папку а согласно содержимого он сама должна выдать результат, то есть возможно исправить index.html, записать index1.html и запускать уже index1.html
может ещё и там глубже нужно что исправить - это вообще гадание на кофейной гуще...., а так
Цитата:
Сообщение от BDA Посмотреть сообщение
Не запускал, но нужно примерно такое
опробую отпишусь
Ципихович Эндрю вне форума Ответить с цитированием
Старый 18.05.2024, 08:20   #6
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,058
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
опробую отпишусь
опробовал:
Код:
import os

DIRECTORY = r'I:\eternalhost_Lis'

def print_directory_structure(path, level=0):
    print('  ' * level + os.path.basename(path) + '/')
    for item in os.listdir(path):
        item_path = os.path.join(path, item)
        if os.path.isdir(item_path):
            print_directory_structure(item_path, level + 1)
        else:
            print('  ' * (level + 1) + item)

print_directory_structure(DIRECTORY)

import subprocess
import webbrowser

HTML_FILE = os.path.join(DIRECTORY, 'index.html')

# Проверить, что файл index.html существует
if not os.path.exists(HTML_FILE):
    print(f"Ошибка: файл {HTML_FILE} не найден.")
    exit()

# Открыть файл в браузере
subprocess.Popen(['python3', '-m', 'http.server', '8000', '-b', '127.0.0.1', '-d', DIRECTORY])
webbrowser.open('http://localhost:8000/')

# Вывести сообщение с ссылкой на файл
print(f"Служба в порту 8000 запущена из директории {DIRECTORY}")
print("Просмотреть результат можно в браузере: http://localhost:8000/")
ошибка:
Traceback (most recent call last):
File "C:\pythonProject\sudrf.ru1.py" , line 28, in <module>
subprocess.Popen(['python3', '-m', 'http.server', '8000', '-b', '127.0.0.1', '-d', DIRECTORY])
File "C:\Users\q8902\AppData\Local\Progr ams\Python\Python311\Lib\subprocess .py", line 1024, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\q8902\AppData\Local\Progr ams\Python\Python311\Lib\subprocess .py", line 1493, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^
FileNotFoundError: [WinError 2] Не удается найти указанный файл
ЧЯДНТ? спасибо
Ципихович Эндрю вне форума Ответить с цитированием
Старый 18.05.2024, 08:22   #7
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,058
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
subprocess.Popen(['python3', '-m', 'http.server', '8000', '-b', '127.0.0.1', '-d', DIRECTORY])
даже если DIRECTORY заменить на HTML_FILE - результат тот же))
Ципихович Эндрю вне форума Ответить с цитированием
Старый 18.05.2024, 12:35   #8
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,058
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
subprocess.Popen(['python3'
джипити мне толкует, что лучше указать полный путь к файлу python3.exe
у меня вроде нет такого, ХЗ что за зверь где искать, если нет его, где взять?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 18.05.2024, 15:37   #9
DeepFlake
Пользователь
 
Регистрация: 16.05.2024
Сообщений: 13
По умолчанию

Цитата:
полный путь к файлу python3.exe
должен быть где установлен python
DeepFlake вне форума Ответить с цитированием
Старый 18.05.2024, 17:40   #10
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,058
По умолчанию

ну если указать:
Код:
subprocess.Popen([r'C:\Users\q8902\AppData\Local\Programs\Python\Python311\python.exe', '-m', 'http.server', '8000', '-b', '127.0.0.1', '-d', DIRECTORY])
то файл откроет в браузере и будет указано:
Соединение было сброшено
такие дела.......
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Я написала код, создаю html файл(работаю на маке), и он не запускается Victoria1996 HTML и CSS 8 24.01.2019 15:04
как запустить серверное приложение на интернет-сервере? impeee Работа с сетью в Delphi 6 10.02.2014 22:45
Не запускается index.php в Windows 7 super-php PHP 18 12.03.2013 23:26
Главная страница не запускается локально MrBrain Общие вопросы Web 20 18.09.2012 19:30
Не могу запустить ASP.NET сайт на сервере poison606 PHP 1 30.07.2009 17:41