UUIDをユーザーに割り当て、これを.txtファイルに文書化できるようにする必要があります。これが私が持っているすべてです:
import uuid
def main():
a=input("What's your name?")
print (uuid.uuid1())
f.open(#file.txt)
main()
私は試した:
f.write(uuid.uuid1())
しかし、何も起こらず、論理的なエラーかもしれませんが、私にはわかりません。
これを試すことができます!
a = uuid.uuid1()
str(a)
--> '448096f0-12b4-11e6-88f1-180373e5e84a'
Python 3.7で期待どおりに機能する別のソリューションを思いつきました。
import uuid
uid_str = uuid.uuid4().urn
your_id = uid_str[9:]
urnは、 RFC 4122 で指定されているURNとしてのUUIDです。
[更新]文字列として書き込むstr関数を追加し、ファイルを閉じてすぐに実行されるようにします。プログラムを終了してからコンテンツを書き込みます。
import uuid
def main():
a=input("What's your name?")
print(uuid.uuid1())
main()
f=open("file.txt","w")
f.write(str(uuid.uuid1()))
f.close()
これは私のために働くと思います
おそらく、あなたが実際ファイルを閉じていないからでしょう。これは問題を引き起こす可能性があります。あなたが本当にそうしない理由がない限り、ファイルを扱うとき、context manager/with
ブロックを使いたいです。
with open('file.txt', 'w') as f:
# Do either this
f.write(str(uuid.uuid1()))
# **OR** this.
# You can leave out the `end=''` if you want.
# That was just included so that the two of these
# commands do the same thing.
print(uuid.uuid1(), end='', file=f)
これにより、完了時にファイルが自動的に閉じられ、ディスクに確実に書き込まれます。