작은 프로젝트로서 나는 작은 대화방을 만들었습니다.py2exe : 변환 된 코드는 한번 수정 된 코드
import re, time
user_name = 0
password = 0
chatroom = 0
from users import users
def startup():
global user_name, password, chatroom
print "\n" * 100
user_name = raw_input("Your username: ").upper()
if users.has_key(str(user_name).lower()) == True:
password = str(raw_input("Password: "))
while str(users[user_name.lower()]) != str(password):
print "Incorrect password."
time.sleep(2)
startup()
else:
chatroom = raw_input("Room name: ").lower()
chat()
else:
print "Invalid username."
time.sleep(2)
startup()
def showchat():
global user_name
file = open(str(chatroom) + ".txt","r+")
messages = str(file.read()[-700:])
file.close
messages = messages.rstrip('\n')
print "\n" * 40
print messages
print "------ type 'r' to refresh the screen ------"
def writechat():
global user_name, chatroom
n = raw_input("________________________________________________________" + "\n" + user_name + ": ")
if user_name.lower() == 'admin':
if n == "clear":
file = open(str(chatroom) + ".txt","w")
file.write("")
file.close
elif n == "addnewuser":
x = "'" + raw_input("new username: ") + "'"
y = "'" + raw_input("new password: ") + "'"
file = open("users.py","r").read()
file = file.replace("'username' : 'password',", x + " : " + y + "," + "'username' : 'password',")
open("users.py","w").write(file)
elif n == "r":
chat()
elif n == "logout":
startup()
else:
file = open(str(chatroom) + ".txt","a")
file.write(user_name + ": " + str(n) + "\n")
file.close()
else:
if n == "r":
chat()
elif n == "changepassword":
file = open("users.py","r")
file.read()
oldpass = raw_input("New password: ")
users[user_name.lower()] = oldpass
print users
file.close()
file = open("users.py","w")
file.write("users = " + str(users)) #here
file.close()
elif n == "logout":
startup()
else:
file = open(str(chatroom) + ".txt","a")
file.write(user_name + ": " + str(n) + "\n")
file.close()
def chat():
showchat()
writechat()
chat()
startup()
이 코드는 같은 길이의 chatroom.txt 파일이 사용자뿐만 아니라 존재하는 파이썬 완벽하게 잘 작동 : 코드는 내가 구조가 효율적으로되지 않을 수 있습니다 내가 프로그래밍에 새로운 오전 것을 지적 할 수있다, 다음과 같습니다. py. .exe로 변환하면 문제가 발생합니다. 즉, users.py 파일이 영구적으로 (일시적으로) 작성되지 않아야 할 때, 관련 코딩이 #here로 표시된다는 것 외에는 문제가 없습니다. 다음과 같이
내 설치 코드는 다음과 같습니다 (: 암호 사용자) : 그래서
users = {
'admin' : '2588619',
'john' : '1234',
'username' : 'password',
}
가 어떻게 .exe를로 변환 및 않는
from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
options = {'py2exe' : {
'packages': ['users'],
"bundle_files" : 2,
}},
console = [{'script': "chatroom.py"}],
zipfile = None,
)
users.py는 단순히 단지 사전입니다 users.py가 영구적으로 작성되도록 하시겠습니까?
감사합니다. 사용자 파일을 텍스트 (: –