Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 6696-й день

Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua

 Работа с директориями "%APPDATA%\test\Data\1", Python

Console
May 10 2016, 14:15
  
Пост #1



Репутация:   498  
ultra active user
******

Группа: Пользователи
Сообщений: 11 279
С нами с: 23-March 08


Подскажите.
Нужно в питоне указать путь
import os
path = "%APPDATA%\test\Data\1"
os.chdir = path
file = open("test.cfg", "w+")
file.write("blalalalalalalala")
file.close()


При ране выдает вот такое, хотя путь реальный все есть...

Message    File Name    Line    Position    
Traceback                
    <module>    C:\Users\Userr\Documents\модуль4.py    14        
FileNotFoundError: [WinError 3] Системе не удается найти указанный путь: '%APPDATA%\\test\\P11Data\x01'                


Блин, а при F:\test, директории, все равно генерирует файлик в директории где лежит .py файлик...

Сообщение отредактировал Console - May 10 2016, 16:12
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Ответов(1 - 4)
грик
May 10 2016, 21:00
  
Пост #2



Репутация:   2  
Активист
*

Группа: Пользователи
Сообщений: 267
С нами с: 20-October 13


Я питон не шарю, но вопрос такой, что очень легко гуглится. Погугли на английском, на стековерфлоу точно есть куча тем, где показано, как работать с файлами.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ROST
May 11 2016, 2:39
  
Пост #3



Репутация:   45  
serrwrtet


Группа: Пользователи
Сообщений: 121
С нами с: 23-November 07


1. Треба підставити значення %APPDATA%, наприклад, використавши os.path.expandvars
https://docs.python.org/2/library/os.path.h...path.expandvars
2. Символи '\' треба екранувати: або додати префікс 'r' чи 'R' до path, або замість '\' писати '\\'.
https://docs.python.org/2.0/ref/strings.html
3. os.chdir - це функція, тому треба писати os.chdir(path)
https://docs.python.org/2/library/os.html#os.chdir

import os
path = os.path.expandvars(r"%APPDATA%\test\Data\1")
os.chdir(path)
file = open("test.cfg", "w+")
file.write("blalalalalalalala")
file.close()
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Console
May 11 2016, 10:09
  
Пост #4



Репутация:   498  
ultra active user
******

Группа: Пользователи
Сообщений: 11 279
С нами с: 23-March 08


Супер, еще я разобрался как создавать директорию если нету, теперь по красоте.
path = os.makedirs(path, mode=0o777, exist_ok=False)

Правда одна проблемка... если есть уже такая директория...

Сообщение отредактировал Console - May 11 2016, 11:03
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Console
May 27 2017, 0:02
  
Пост #5



Репутация:   498  
ultra active user
******

Группа: Пользователи
Сообщений: 11 279
С нами с: 23-March 08


Что бы не плодить темы...

import cx_Freeze
import tkinter
import json
import sys


base = None

if sys.platform == 'win32':
    base = "Win32GUI"
executables = [cx_Freeze.Executable("Um_test.py", base=base)]

cx_Freeze.setup(
    name = "Um_test",
    options = {"build_exe": {"packages":["tkinter","json"], "include_files":["c.txt","cn.txt","drfo.txt","edrpou.txt","email.txt","G.txt","isstamp.txt","L.txt","o.txt","ou.txt","serial.txt","SN.txt","ST.txt","t.txt"]}},
    version = "0.01",
    description = "For test UM 2.0",
    executables = executables
    )

Собрал .exe работает ок, но... если открыть.....поля пустые....
Open in new windowIPB Image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic

 



- Упрощённая версия
Сейчас: 14th July 2024 - 15:30
Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст.