파이썬 윈도우 프로그램 개발, 값 전달

Sangwoo Jung@Google의 이미지

-Window program Making-
=test.py=
import os
os.system('ex2.py')
---

PyQt 로 윈도우 프로그램 중인데 질문 드립니다.

test.py 를 실행시 결국, ex2.py 를 실행하게 됩니다.
하지만 여기서 ex2.py 를 실행할 때, 변수를 넘기고 싶습니다. 이럴 때는 어떻게 해야 할까요?ㅠ

그래서 저는 ex2.py 에서 변수를 사용하고 싶습니다.(마치 HTML 의 GET이나 POST)

...
test.py(ex2.py 를 실행하면서 값을 전달합니다.) -> ex2.py(test.py 에서 넘어온 값 사용합니다.)

익명 사용자의 이미지

이전 질문을 봐도 그렇고 뭔가 느낌이 ... 보통 native GUI 프로그램에서 탭이나 서브윈도우, 대화상자 등을 사용해서 해결하는 일을 마치 웹페이지에서 새로운 페이지를 보여주는 방식으로 해결하려고 하시는 것 같습니다. 아예 html을 사용해서 GUI 개발을 하던가 아니면 전통적인 GUI에서 사용하는 방식을 따르던가 선택을 하셔야 합니다. 최종적으로 하고싶은 일이 무엇인지 또는 해결해야하는 문제가 무엇인지를 알려주세요. 흔히 사용하는 GUI 프로그램들(에디터, 오피스, 파일탐색기, ...)에서 비슷한 문제를 어떻게 해결했는지를 생각해보시구요.

raymundo의 이미지

윈도우 GUI 프로그램이란 조건이 어떤 영향을 줄지는 모르겠습니다만, os.system()을 써서 다른 프로그램을 실행할 거면 그냥 명령행 인자를 써서 값을 전달하면 안 될 이유라도 있나요?

# test.py
var1 = 10
var2 = "hello"
os.system("ex2.py {0} {1}".format(var1, var2))
 
# ex2.py
import sys
var1 = sys.argv[1] 
var2 = sys.argv[2]
...

좋은 하루 되세요!

swish95의 이미지

파이프를 이용할수도 있고 rock 파일을 이용할수도 있고 소켓을 이용할수도 있겠죠
하지만 위의 방법중 파이프는 어차피 같은 방식이고
나머지 두가지는 특수한 경우에만 사용하는 방식입니다.

원래 콘솔 프로그램은 레이문도 말씀처럼 파라미터를 전달하는게 정석이죠

------------------------------------------------------------
ProgrammingHolic

Sangwoo Jung@Google의 이미지

귀한 답변 감사합니다. 이것이 작업하길 원하는 방향과 가장 정확한 답변인 것 같습니다. 현재 제가 원하는 인자 전달방법 인 것 같습니다. 고맙습니다!!

Sangwoo Jung@Google의 이미지

귀한 답변 감사합니다. 이것이 작업하길 원하는 방향과 가장 정확한 답변인 것 같습니다. 현재 제가 원하는 인자 전달방법 인 것 같습니다. 고맙습니다!!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.